Para configurar tu propio servidor con una dirección blanca, necesitas gastar mucho dinero: prepara un DNS nombre, comprar una dirección blanca o VPS/VDSy configurar NAT Reenvío. Y lo más importante, no siempre es claro cómo mantener todo esto sin un libro sobre redes y tecnologías de red. Los creadores del servicio Ngrok solucionaron este problema ofreciendo sus servidores como puntos de conexión públicos, ¡con todas las ventajas descritas anteriormente!
¿Qué es Ngrok y cómo lo instalo?
Ngrok es un servidor en una red pública Que ya tiene un nombre de dominio configurado de antemano y una dirección de conexión estática que permite redirigir el tráfico desde este a su dispositivo local mediante tunelización. Esquemáticamente, se ve así:

El agente y el servicio se instalan en los servidores local y público, respectivamente. Posteriormente, el agente se conecta al punto público de Ngrok en los puntos 2 y 3. Ahora tienen una conexión abierta que permite transferir tráfico en dos direcciones. Se envía una solicitud desde la red a la aplicación web. Posteriormente, según las reglas de redirección del nodo público número 4, el tráfico se enruta a la conexión abierta del servicio y llega al agente, donde se descomprime y se transmite a la aplicación web.
Para configurar una conexión de red, necesita crear una cuenta en el sitio web oficial ¡y luego copia la clave!

Lo usaremos para autenticar al agente en el proxy inverso, descargar ngrok a través del administrador de snap.:
apt update && apt install snapd -y && \
echo “PATH=$PATH:/snap/bin” | tee -a ~/.bashrc && \
bash snap install ngrokDespués de eso, podemos crear un punto final en el panel de control en el Puerta de enlace → Bordes Pestaña. Puedes usarla para administrar tu servidor proxy inverso.

Ahora conectaremos nuestro recurso local a él, por ejemplo, Nginx servidor, que ocupa el puerto 80.:

Para ello, agregue la clave previamente copiada en el primer paso al archivo de configuración y abra un túnel desde nuestro recurso local a un punto público.:
ngrok config add-authtoken && \
ngrok tunnel --label edge= Donde el ID del proxy inverso se puede encontrar en el panel de la pestaña Descripción general, y la URL representa el recurso local al que se requiere acceso.

Después de esto, podremos ver un panel con estadísticas básicas sobre las conexiones al nodo:

Y al contactar con un punto de venta público, recibiremos una respuesta del servidor web local para NAT:

¿Cómo configuro la política de tráfico en Ngrok?
De hecho, este es el mismo módulo que el proxy inverso habitual para gestionar las solicitudes de red y las rutas de enrutamiento. Por ejemplo, se usa la ruta /cat para devolver el código 403 o redirigir la solicitud del usuario.
Hay un total de 19 funciones que se pueden implementar al recibir tráfico:

Veamos algunos de ellos. Clásicamente, se puede escribir una configuración en formato YAML/JSON y dirigirla al agente, o bien realizar cambios para cada tipo de tráfico directamente en la plataforma web.
on_http_request:
- actions:
- type: custom-response
config:
status_code: 503
content: HTML code
headers:
content-type: text/html Después de eso, guardaremos y verificaremos el stub aplicado en el proxy inverso.:
curl -i https://example.ngrok.app/ 
¡Genial! El stub funcionó a la perfección y obtuvo el resultado deseado. De la misma manera, puedes aplicar acciones de solicitud/respuesta al resto de los módulos, siguiendo el ejemplo. Puedes encontrar más información sobre cada uno en la documentación oficial.
Preguntas frecuentes: Instalación y políticas de tráfico de Ngrok
- 1. ¿Para qué se utiliza Ngrok?
Ngrok permite a los desarrolladores exponer sus aplicaciones y servidores locales a internet mediante túneles seguros. Se utiliza a menudo para probar webhooks, compartir proyectos locales o acceder a entornos de desarrollo de forma remota. - 2. ¿Cómo instalo Ngrok en? Linux?
Puedes instalar Ngrok con Snap usando el comando:apt update && apt install snapd -y && \
snap install ngrokLuego agrega tu token de autenticación con:
ngrok config add-authtoken <your_token> - 3. ¿Cómo creo un túnel Ngrok?
Ejecutar:ngrok http 80Esto expondrá su servidor web local que se ejecuta en el puerto 80 a una URL pública de Ngrok.
- 4. ¿Cuáles son las políticas de tráfico en Ngrok?
Las políticas de tráfico son reglas que definen cómo se gestionan las solicitudes y respuestas en el túnel. Por ejemplo, puede bloquear el acceso a ciertas rutas, configurar redirecciones o devolver parámetros personalizados. HTTP respuestas. - 5. ¿Puede Ngrok reemplazar una IP estática o VPS?
Sí, en muchos casos. En lugar de comprar un VPS o configurando NATNgrok proporciona un punto final público con una dirección estática que redirige el tráfico a su host local a través de un túnel seguro. - 6. ¿Es Ngrok seguro?
Sí, todos los túneles están cifrados con TLS. También puede aplicar autenticación, restringir el tráfico y configurar políticas de seguridad avanzadas a través del panel de Ngrok.