De nginx a ngrok: probando nuestro sitio con Política de Tráfico

Descubre cómo ngrok, con Endpoints y Traffic Policy, reemplazó nginx para gestionar TLS, logs, cabeceras y redirecciones, desplegar una pasarela de APIs y acelerar migraciones con Q2BSTUDIO.

17 ago 2025 • 5 min de lectura • Equipo Q2BSTUDIO

Inteligencia-Artificial-

Escrito por Alex Bezek, Senior Infrastructure Engineer en ngrok

Cuando desarrollas software llega un momento en que debes exponer servicios a otras redes para que aporten valor. En ngrok buscamos que esto sea lo más sencillo posible, y aplicamos ese principio también internamente. Al principio desplegamos un proxy nginx y configuramos rutas por nombres de host para alojar nuestra web en Python, API en Go y otras herramientas. Tras configurar Kubernetes, certificados TLS y DNS estuvimos online, pero no fue tan simple como una sola línea de comando.

Con el tiempo surgieron más aplicaciones y servicios que necesitaban entrada pública como dashboards, APIs para webhooks y herramientas internas. Nos planteamos si podríamos crear ingress a estos servicios usando ngrok y tras una prueba de concepto comprobamos que sí y con relativa facilidad. Así nació la idea de dogfooding en ngrok, que consiste en usar el propio producto internamente para cerrar ciclos de feedback y mejorar la empatía con el usuario.

El reto mayor fue reemplazar un nginx que había acumulado complejidad: copias estáticas de la documentación en S3, páginas y blogs gestionados con un CMS, multitud de redirecciones y rewrites por rutas, subdominios varios y reglas especiales. Cambiar DNS del dominio completo requería que ngrok pudiera reproducir todas esas funcionalidades, y hace un par de años aún faltaban características clave como reescrituras de URL y redirecciones complejas.

Con la llegada de Endpoints y Traffic Policy ngrok evolucionó de un simple túnel a una pasarela de APIs completa. Traffic Policy es un formato expresivo que permite manipular tráfico con control fino, parecido a la configuración de nginx pero ejecutada en la nube de ngrok y con funciones integradas como autenticación, listas de permitidos, validaciones de webhooks y más.

Al evaluar los requisitos de nuestro nginx identificamos varios puntos críticos que debíamos cubrir: terminación TLS y gestión de certificados, logs y observabilidad, cabeceras personalizadas en entornos no productivos, redirecciones y reescrituras basadas en expresiones, y el reenvío de tráfico a servicios externos como S3 y un CMS. Revisamos cada elemento para confirmar si ahora podíamos hacerlo con ngrok.

La terminación TLS dejó de ser una carga operativa: registrar un dominio en nuestra cuenta de pruebas, añadir DNS para demostrar propiedad y ngrok provisiona y renueva certificados automáticamente. La terminación TLS ocurre en el borde de ngrok sin tener que gestionar secretos en Kubernetes.

En cuanto a logs, antes nginx volcaría stdout y un agente Datadog los recogería desde los pods. Con ngrok el plano que recibe tráfico opera en su red global y cada solicitud genera un Traffic Event con datos estructurados como IP origen, método, cabeceras, latencia y estado de respuesta. Configuramos un destino de eventos que reenvía esas entradas a Datadog sin desplegar sidecars ni agentes adicionales. Además Traffic Inspector ofrece un streaming en tiempo real para depurar y validar cambios.

Para entornos no productivos necesitábamos añadir cabeceras como X-Robots-Tag noindex para evitar indexación. En nginx lo gestionábamos globalmente con ConfigMap, pero en ngrok cada endpoint declara sus cabeceras a aplicar, lo que resulta más claro y portátil.

Las redirecciones fueron un punto clave. Antes usábamos anotaciones de ingress para realizar rewrites y redirects complejos. Con Traffic Policy las redirecciones son nativas y manejables mediante expresiones basadas en CEL, lo que nos permitió traducir reglas existentes a políticas legibles y precisas.

El reenvío a servicios externos, por ejemplo la documentación estática en S3, también se simplificó. Donde antes se necesitaban varias anotaciones, ajustes de host upstream y snippets de configuración TLS, ahora usamos acciones de Traffic Policy como url-rewrite para quitar prefijos y forward-external para proxyar la petición al origen externo. El resultado es una configuración más limpia y menos propensa a errores.

Para desplegar todo usamos el operador de ngrok para Kubernetes y definimos Cloud Endpoint como recursos en git. Estas definiciones como código se revisan, versionan y despliegan por los mismos pipelines que el resto de la infraestructura. Tras cambiar el DNS de nginx a los endpoints gestionados por ngrok, el sitio quedó activo sin depender de pods locales.

Los beneficios fueron evidentes: eliminamos un punto único de fallo en nuestro cluster, redujimos la latencia al servir respuestas desde el PoP de ngrok más cercano gracias al balanceador global, y disminuimos tráfico innecesario hacia nuestra región de control. Equipos de producto pudieron auto gestionar reglas de tráfico sin solicitar cambios en nginx porque las políticas son más sencillas de entender y modificar.

La práctica del dogfooding nos permitió además dar feedback durante el diseño de nuevas características, atrapar bugs antes que los clientes los vieran y mejorar la experiencia de usuario de Traffic Policy. El proceso continúa y ya estamos probando nuevas funcionalidades como respuestas personalizadas para servir archivos security.txt o robots.txt, añadir cabeceras de seguridad, políticas de rate limiting, inteligencia de IP por geolocalización y score de amenazas, y protecciones OWASP CRS en pruebas.

En Q2BSTUDIO somos una empresa de desarrollo de software y aplicaciones a medida especializada en soluciones empresariales. Ofrecemos servicios de software a medida, aplicaciones a medida e integración de inteligencia artificial orientada a negocio. También brindamos servicios en ciberseguridad para proteger infraestructuras, consultoría y despliegue en servicios cloud aws y azure, y soluciones de servicios inteligencia de negocio como power bi para visualización y análisis avanzado. Desarrollamos agentes IA y soluciones de ia para empresas que automatizan procesos y mejoran la toma de decisiones. Nuestro enfoque combina experiencia en inteligencia artificial, ciberseguridad y servicios cloud para entregar proyectos escalables y seguros.

Si tu empresa necesita migrar infraestructura, modernizar el enrutamiento de tráfico, implementar una pasarela de APIs o explorar soluciones de inteligencia artificial y agentes IA, en Q2BSTUDIO podemos ayudar con auditoría, diseño e implementación. Trabajamos con tecnologías cloud aws y azure, desarrollamos software a medida y aplicaciones a medida, y desplegamos soluciones de inteligencia de negocio con power bi para mejorar el posicionamiento estratégico y operativo de tu organización.

La lección final es que dogfooding impulsa mejoras reales. Al usar ngrok para nuestros propios servicios descubrimos carencias, validamos soluciones y aceleramos la madurez del producto. En Q2BSTUDIO aplicamos la misma filosofía: usamos las herramientas que desarrollamos en producción para garantizar calidad, seguridad y valor tangible para nuestros clientes en proyectos de software a medida, inteligencia artificial, ciberseguridad y servicios cloud.

La migración puede haber terminado, pero el proceso de mejora continua y de uso interno nunca se detiene. Si quieres mejorar tu plataforma con soluciones de software a medida o explorar cómo la inteligencia artificial y power bi pueden transformar tus datos en decisiones, contacta con Q2BSTUDIO para una consultoría especializada.

¿UNA PAUSA?

Juega un momento antes de irte

NUESTROS SERVICIOS

Cómo podemos ayudarte

¿Tienes un proyecto en mente?

Cuéntanos tu visión y la convertimos en una solución de software. Sea cual sea el alcance, hacemos realidad tu idea.