Configuración de túneles HTTP autoalojados con SSH y Nginx

Fuentes: Self-hosted HTTP tunnels with SSH and nginx

Este artículo técnico detalla la implementación de túneles HTTP autoalojados utilizando únicamente OpenSSH y Nginx, eliminando la dependencia de servicios comerciales como ngrok o frp. El proceso comienza estableciendo una conexión inversa a través de SSH, donde el servidor asigna un puerto temporal para redirigir el tráfico local a una dirección remota. Para garantizar la seguridad, se configura Nginx para actuar como proxy SSL, utilizando un certificado wildcard emitido por Let's Encrypt y gestionado a través de Route 53. La autenticación se refuerza mediante el módulo ngx_http_secure_link_module, que genera un hash MD5 combinado con un timestamp de expiración y un secreto, codificado en base64. Este token se incluye en la URL como nombre de usuario, permitiendo la autenticación básica HTTP sin exponer credenciales en el dominio. El autor proporciona un script de ayuda que automatiza la generación de estos tokens y la detección de los puertos asignados por SSH, integrándolo en la configuración de OpenSSH para ofrecer una solución rápida y privada. Este enfoque es útil para desarrolladores que necesitan compartir contenido en tiempo real sin costes de suscripción ni complejidad de infraestructura externa, aprovechando herramientas ya presentes en el servidor.