Una vez que su red doméstica comience a volverse más compleja, por ejemplo, si comenzara aalojar aplicaciones y servicios por su cuenta, es posible que desee considerar la posibilidad de configurarun proxy inversopara proteger esos servicios de Internet. Básicamente, se trata de otro servidor que se encuentra entre el dispositivo en el que se encuentran sus aplicaciones alojadas por usted mismo e Internet, pero en lugar de proporcionar acceso a Internet, proporciona acceso a esas aplicaciones.
De esa manera, obtienes un único punto de acceso para la configuración, el registro y, en general, una administración más sencilla, ya que puedes cambiar cosas en un dispositivo sin tener que cambiarlas en las otras aplicaciones alojadas por ti mismo u otros dispositivos de tu red. Es una fantástica incorporación a cualquier configuración de laboratorio doméstico, pero cada software de proxy inverso hace las cosas de forma ligeramente diferente y viene con funciones adicionales que pueden resultarte útiles en tu red doméstica. Por lo tanto, sin ningún orden en particular, aquí se muestran algunos de nuestros proxies inversos favoritos para que la administración de tus aplicaciones alojadas por ti mismo y de tu red doméstica sea mucho más sencilla.
5 razones por las que deberías usar un proxy inverso para tus aplicaciones alojadas en tu propio servidor
Abra fácilmente el acceso a sus aplicaciones alojadas automáticamente sin el dolor de cabeza de configurarlas individualmente.
9Administrador de proxy NGINX (NPM)
La forma más sencilla de exponer sus aplicaciones alojadas internamente y, al mismo tiempo, mantener segura su red doméstica
Nginx es uno de los servidores proxy inversos más utilizados, pero su interfaz de línea de comandos puede resultar intimidante para los nuevos usuarios. Aquí es donde entra en juego Nginx Proxy Manager (NPM), que añade un panel de control fácil de usar para que la administración de su servidor proxy inverso sea una tarea más sencilla. Junto con las características estándar de Nginx para exponer servicios web dentro de su red, NPM también añade SSL gratuito a través de Let's Encrypt, integración para Docker, compatibilidad con varios usuarios y documentación completa en caso de que se quede atascado. Debido a su simplicidad, es una buena opción para el uso en el laboratorio doméstico, aunque eso significa que no es fácilmente escalable si su infraestructura de red crece.
8Enviado proxy
Originalmente creado por Lyft, este proxy inverso es fantástico para microservicios.
Envoy Proxy, desarrollado originalmente en la empresa Lyft, está diseñado para facilitar el uso de microservicios al gestionar las comunicaciones entre servicios. Esto es importante para el diseño de aplicaciones modernas, pero el software también se diseñó para gestionar todas las tareas que suelen estar asociadas a un proxy inverso, por lo que se puede configurar para gestionar varias cargas de trabajo en la red doméstica. Se puede utilizar como proxy de entrada o incluso de salida y hacer que se encargue de todo el tráfico de la red en ambas direcciones. También puede gestionar la seguridad a nivel de red, la autenticación, el equilibrio de carga y el descubrimiento de servicios, por lo que está preparado para expandirse a medida que lo hace la red.
7apache
La mayoría de los servidores web se pueden configurar como simples servidores proxy inversos.
Para una configuración de proxy inverso simple, se puede configurar un servidor web Apache para que haga el trabajo, ocultando sus servidores backend o aplicaciones alojadas por usted mismo de Internet. Eso podría significar que terminaría con dos servidores Apache o más en su red, uno manejando el enrutamiento y las solicitudes externas, y el otro(s) sirviendo contenido a través del proxy inverso. Puede hacer esto porque tiene una estructura flexible que se puede ampliar con complementos o módulos, y el módulomod_proxyes el que le permite actuar como un proxy inverso.
Si bien es posible que no tenga algunas de las características avanzadas de otros servidores proxy inversos, puede manejar encriptación SSL, equilibrio de carga, almacenamiento en caché, compresión de respuestas HTTP y otras funciones básicas que quizás desee habilitar.
6Proxy de alta disponibilidad
Uno de los servidores proxy inversos más utilizados del mundo y se entrega con la mayoría de las distribuciones de Linux más populares.
HAProxy es un proxy de alta disponibilidad que se utiliza principalmente para mejorar el tiempo de actividad en un entorno de servidor. Se utiliza en una amplia gama de servicios de Internet que reconocerá al instante, incluidos GitHub, Twitter, Imgur e Instagram. Si bien es posible que no necesite las funciones de equilibrio de carga para la configuración de su red doméstica, no tiene que configurarlas y HAProxy es igual de cómodo de usar como un simple proxy inverso para facilitar la administración de sus aplicaciones alojadas por usted mismo.
5Tráfico
Proxy de aplicación avanzado con autodescubrimiento de componentes y enrutamiento
Traefik está diseñado de manera diferente a los servidores web como Nginx que también tienen funcionalidad de proxy inverso, porque tiene un gran enfoque en aplicaciones nativas de la nube y fue diseñado como un proxy desde el principio. Como tal, tiene soporte integrado para microservicios, Docker, Kubernetes, Rancher y Consul, por lo que puede vincular sus servicios en contenedores en un solo panel de administración. También tiene una interfaz fácil de usar, SSL integrado de Let's Encrypt y tiene detección automática de servicios, por lo que facilita la implementación. También obtiene integraciones con software de gráficos y monitoreo como Grafana, DataDog y Prometheus, lo que le brinda una solución de proxy poderosa con información detallada sobre el tráfico.
4Ngrok
Abra túneles seguros a servicios locales fácilmente para pruebas y desarrollo
Si bien existen muchos servidores proxy inversos para abrir servicios listos para producción a Internet, Ngrok está diseñado para ser una herramienta de desarrollo para probar servidores web locales. Crea túneles seguros a máquinas locales, por lo que puede probar fácilmente las API o las integraciones de servicios de terceros antes de enviar el código a los servidores de producción. Está diseñado para la seguridad, con cifrado TLS/SSL, múltiples formas de autenticar usuarios, control de acceso y funciones de registro y monitoreo profundos. Además, puede rastrear y reproducir solicitudes HTTP, por lo que puede verificar que las llamadas API o los webhooks funcionen correctamente y pasen los datos correctos cuando se los llama. Como tal, no es un reemplazo para un proxy inverso frente a sus aplicaciones alojadas por usted mismo, sino más bien una herramienta para su entorno de prueba.
3Pipi
Proxy inverso de alto rendimiento y balanceador de carga con motor JavaScript integrado
Pipy es otro procesador de tráfico de red de código abierto diseñado para ser liviano y de alto rendimiento. Está escrito en C++ pero usa JavaScript (PipyJS) para generar scripts de eventos y servicios, por lo que configurará su proxy inverso en un programa JavaScript. El programa principal de Pipy tiene un tamaño de solo 6 MB, por lo que es fantástico para usar en servidores con memoria limitada. Pero también es similar a Envoy, en el sentido de que puede configurar un proxy Pipy como sidecar en cada proceso de aplicación y hacer que los proxies manejen las comunicaciones entre aplicaciones. Además, puede habilitar diferentes reglas y políticas para los servicios ascendentes, porque no todas las aplicaciones externas necesitan acceder a todos los microservicios que tiene en ejecución.
2Yarps
Desarrollado por Microsoft con ASP.NET y .NET
YARP fue desarrollado internamente por Microsoft, cuando un grupo de equipos internos comenzó a usar sus propios servidores proxy antes de fusionarlos en uno solo. Está basado en .NET usando ASP.NET (y .NET 6 y versiones posteriores) y diseñado para una fácil personalización para varios escenarios de implementación. La documentación tiene pasos fáciles de seguir para la implementación y hay un ejemplo completo de un servidor proxy inverso simple para comenzar si prefieres comenzar de inmediato.
1La palabra
Diseñado y construido en Rust con un gran enfoque en la estabilidad.
Sozu es un proxy inverso HTTP ligero, rápido y de código abierto que se escribió en Rust para aprovechar las capacidades de seguridad de la memoria y concurrencia de ese lenguaje de programación. El resultado final es que el proxy inverso es más rápido que la mayoría y puede manejar cargas elevadas con una latencia mínima. También se escribió para permitir cambios de configuración sin tener que interrumpir las conexiones, gracias a una arquitectura inmutable que copia el módulo existente, realiza los cambios de configuración en la copia, antes de mover las conexiones y eliminar el módulo original. Es perfecto para entornos de alta disponibilidad, pero no hay ninguna razón por la que no debas usarlo también en casa para aprender los conceptos de red adicionales que permite.
Colocar un proxy inverso en su red doméstica hace que el autohospedaje sea más fácil y seguro
Ya sea que esté alojando algunas aplicaciones en unNASo ejecutando un clúster de servidores de producción, enrutarlas a través de un proxy inverso brinda muchos beneficios. Además de no exponer las direcciones IP de su dispositivo a Internet, también puede obtener equilibrio de carga, cifrado de datos y la capacidad de acceder a servicios locales y en la nube desde la misma URL. El mejor software de proxy inverso también incluye protección contra ataques DDoS y funciones como la capacidad de configurar listas de acceso y MFA. Y, por supuesto, la administración simplificada de apuntar servicios a su proxy inverso en lugar de tener que administrar los servicios individualmente.