El contenido del artículo
Cómo usar Ngrok para
Ngrok es un servicio que permite hacer que un puerto local sea accesible desde Internet sin configurar NAT, enrutador, DDNS y otros protocolos. El programa crea un túnel entre su computadora y un servidor remoto y proporciona acceso a él desde un dominio único. Sólo tienes que registrarte en el sitio web del servicio, instalar el programa en tu ordenador y ejecutar el comando de creación de túneles.
Por supuesto, este método no es adecuado si necesita que su servicio esté disponible todo el tiempo, pero es bastante conveniente para mostrar cómo funciona su sitio web local o probar la API de devolución de llamada. En este artículo, veremos cómo usar Ngrok, así como cómo instalar Ngrok en Ubuntu.
El contenido del artículo
Instalación de Ngrok en Linux
Si usa Ubuntu u otra distribución que tenga instalado el administrador de paquetes Snap, puede usarlo para instalar Ngrok. Simplemente ejecute el comando:
snap install ngrok
Además, en Ubuntu y otras distribuciones basadas en Debian, es posible instalar un paquete desde los repositorios de los desarrolladores. Para hacer esto, primero agregue la clave al sistema:
curl -s https://ngrok-agent.s3.amazonaws.com/ngrok.asc | sudo tee /etc/apt/trusted.gpg.d/ngrok.asc >/dev/null
A continuación, agregue el repositorio en sí:
echo "deb https://ngrok-agent.s3.amazonaws.com buster main" | sudo tee /etc/apt/sources.list.d/ngrok.list
Actualice la lista de paquetes para obtener los datos del repositorio recién agregado:
sudo apt update
E instale Ngrok:
sudo apt install ngrok
Para cualquier otra distribución, debe descargar los binarios del sitio web oficial. Ábrela Éste , seleccione Linux y haga clic en el icono Descargar.
El archivo descargado debe estar descomprimido. Solo el ejecutable de Ngrok está allí, por lo que puede colocarlo inmediatamente en el directorio /usr/local/bin usando el siguiente comando:
sudo tar xvzf ~/Downloads/ngrok-v3-stable-linux-amd64.tgz -C /usr/local/bin
Para asegurarse de que el programa se instala correctamente, puede consultar su versión:
ngrok -v
Sintaxis y opciones de Ngrok
Veamos primero la sintaxis y las opciones de la utilidad de línea de comandos que se utilizará para administrar el programa. La sintaxis es bastante simple:
$ ngrok equipo Opciones
Estos son los comandos básicos que puede usar:
- terminación – generar un script de autocompletar para bash o zsh;
- config add-authtoken – Guarde el token de autenticación en el archivo de configuración;
- Comprobación de configuración – Compruebe si hay errores en el archivo de configuración.
- Edición de configuración – editar el archivo de configuración;
- HTTP – creación de un túnel HTTP;
- TCP – Creación de un túnel TCP;
- empezar – Túneles de inicio configurados en el archivo de configuración;
- Instalación del servicio – instalar archivos de configuración de servicios en el sistema;
- Inicio del servicio – iniciar el servicio;
- Parada de servicio – detener el servicio;
- actualizar – Actualizar la utilidad a la última versión;
- Versión – Mostrar la versión de la utilidad.
La mayoría de los equipos tienen sus propias opciones, y las cubriremos en la sección sobre cómo usar Ngrok.
Cómo usar Ngrok
1. Registro de la cuenta
El servicio cuenta con una versión gratuita para uso no comercial. Es compatible con todo lo que necesita para que el puerto local sea accesible desde Internet. Para registrar una cuenta, abra el sitio web oficial y haga clic en el botón Únete. En esta página, deberá proporcionar su nombre, dirección de correo electrónico y contraseña:
Después de registrarse, recibirá una carta de confirmación por correo electrónico, debe seguir el enlace de la carta. Después de iniciar sesión en su cuenta, se abrirá el panel de control donde podrá descargar el cliente si no lo ha hecho antes o ver los comandos para configurarlo:
2. Conectar tu cuenta
Para que el cliente instalado funcione, debe especificar una clave de autorización. Esta clave se puede encontrar en la parte inferior de la página Configuración e instalación En tu perfil:
Basta con ejecutar el comando que está escrito allí:
ngrok config add-authtoken XXXXXXXXXXXXXXXXX_XXXXXXXXXXXXXXXXXXXX
Después de eso, todo está listo para usar. Puede ver la misma tecla en el Tu Authtoken:
3. Creación de un túnel
Para que un puerto HTTP local esté disponible desde el exterior, debe utilizar el comando http. Simplemente especifique el puerto como parámetro, por ejemplo, para el puerto 80:
ngrok http 80
Una vez que el túnel se haya iniciado con éxito, el terminal mostrará información sobre su estado. Lejos de casa Expedición puede encontrar la URL donde puede acceder al servicio. La primera vez que inicie sesión, Ngrok mostrará una advertencia de que se puede acceder a este sitio a través de Ngrok. Esto es necesarioClic de Odimo Visitar el sitio:
Después de eso, el contenido del sitio en sí estará disponible:
Si no desea que otra persona pueda acceder a este recurso, puede agregar autorización HTTP. Para ello, utilice el comando –autenticación-básica:
ngrok http --basic-auth="пользователь:пароль" 80
Después de eso, deberá ingresar una contraseña para acceder al sitio. Si necesita especificar un host para su sitio local, puede hacerlo mediante el comando –encabezado-anfitrión. Por ejemplo, para reemplazar un dominio por example.local, utilice el siguiente comando:
ngrok http --host-header="example.local" 80
De forma predeterminada, se podrá acceder al servicio externamente a través de HTTPS. Si desea que solo esté disponible a través de HTTP, use el comando –esquema. Por ejemplo:
ngrok http --scheme="http" 80
Si desea que un puerto esté disponible en otro equipo, especifique su dirección IP junto con el puerto. Por ejemplo, para 192.168.1.143:
ngrok http 192.168.1.143:80
4. Interfaz web de Ngrok
Una vez que se haya iniciado el cliente de Ngrok, puede abrir la interfaz web, que está disponible en http://127.0.0.1:4040. Aquí puedes ver el historial de solicitudes, en el que puedes ver qué datos llegaron y cuáles se enviaron en respuesta:
Hay encabezados y el cuerpo de la solicitud y la respuesta. El uso de la función Repetir Puede volver a enviar la solicitud. También es posible modificarlo antes del envío. Para ello, seleccione Repetición con modificaciones:
En la ventana modal que se abre, puede cambiar el método, la ruta, los encabezados pasados, agregar nuevos encabezados y cambiar el cuerpo de la solicitud.
5. Configuración de túneles en el archivo de configuración
Ngrok tiene un archivo de configuración en el que se almacena el token de autorización. Si no desea escribir un comando largo para iniciar un túnel cada vez, puede describirlo en un archivo de configuración y luego ejecutarlo por su nombre. Ngrok almacena la configuración en formato Yaml en la carpeta de inicio en el archivo .config. Pero no es necesario editar el archivo directamente. Para editar, hay un comando Edición de configuración:
ngrok config edit
Para describir túneles, debe agregar una sección de túneles al archivo de configuración. La sintaxis de la descripción del túnel es la siguiente:
tunnels: имя_туннеля: proto: протокол addr: порт
Otros parámetros que se pasaron anteriormente en la línea de comandos también están disponibles aquí:
- basic_auth – añadir autorización HTTP;
- host_header – reemplazar el valor del encabezado Host;
- Inspeccionar – si necesita guardar las solicitudes de inspección, habilitado de forma predeterminada;
- Esquemas – Esquemas disponibles: HTTP y/o HTTPS;
- Nombre de host – Especifica tu nombre de dominio para el servicio, disponible solo en una suscripción de pago.
Por ejemplo, para crear un túnel de ejemplo en el puerto 80, reemplazando el encabezado Host por example.local, agregue Túneles Las siguientes líneas:
example: proto: http addr: 80 host_header: "example.local"
Guarde los cambios y compruebe el archivo de configuración con el siguiente comando:
ngrok config check
Si todo está bien y no hay errores en el archivo de configuración, el comando mostrará el siguiente mensaje:
Después de eso, puede iniciar el túnel configurado por su nombre:
ngrok start example
Esto completa la configuración de Ngrok.
Resultados
Ahora ya sabe cómo usar Ngrok para crear túneles y enviar un puerto local a Internet. En la versión gratuita, este servicio solo se puede utilizar para el reenvío a corto plazo de servicios locales. Por ejemplo, para el desarrollo o para mostrar cómo se ve un sitio local a alguien. De forma predeterminada, se emite un dominio dinámico cada vez que se conecta, que cambia cada vez. Para configurar su dominio, así como ejecutar Ngrok en segundo plano como un servicio de systemd, debe comprar una suscripción. ¿Qué servicios utilizan para poner a disposición los servicios locales desde Internet? ¡Escribe en los comentarios!