Traefik Proxy v3.0 ya está aquí, descubre las novedades de este popular proxy inverso
Una de las formas más seguras para acceder a los servicios que tenemos en la red local, sin tener que abrir el puerto correspondiente en nuestro router y exponerlo a los peligros de Internet, es usar un proxy inverso para realizar esto. Un proxy inverso consiste en un software que instalamos en la red local, le abrimos el puerto 443 de HTTPS para permitir conexiones desde Internet, y, dependiendo del dominio que solicitemos, el proxy inverso nos llevará a un servicio u otro. Por supuesto, podemos aplicar medidas de seguridad bastante interesantes como autenticación adicional, filtrar por IP de origen y país etc. Traefik es uno de los mejores softwares que puedes usar para esto, y ahora han anunciado que ya tienen la versión Traefik Proxy v3.0 en versión «candidata», justo el paso anterior a la versión final estable. ¿Quieres conocer todas las novedades que han incorporado?
Actualmente podemos hacer uso de diferentes softwares y técnicas para acceder a los servicios de la red local desde Internet, unas opciones son más seguras que otras, y también tienen sus puntos fuertes y sus puntos débiles. Montar un proxy inverso es una opción muy segura, aunque el punto débil es la configuración, ya que es necesario tener ciertos conocimientos de redes y sistemas para poder ponerlo en marcha. Hoy en día existen dos proxys inversos que se usan ampliamente, el primero es Traefik y el segundo es Nginx Proxy Manager.
Novedades de la nueva versión Traefik Proxy v3.0
La versión Traefik v2.0 ha supuesto un antes y un después en este software, y es que es realmente popular, tanto para usuarios domésticos con un NAS y que quieren acceder desde el exterior a todos los servicios, como también para usuarios profesionales o empresas que hacen uso de un proxy inverso para llegar hasta los servicios que ellos quieran. Hay que tener en cuenta que, podemos acceder tanto con subdominios como también a través de diferentes direcciones URL, y el propio Proxy inverso nos llevará a unos servicios u otros. No solamente es compatible con los protocolos HTTP y HTTPS, sino también directamente con TCP con el objetivo de reenviar la información a otros protocolos que hagan uso de TCP. En la siguiente imagen, podéis ver la arquitectura de funcionamiento de Traefik:
Esta nueva versión de Traefik incorpora características totalmente nuevas, ya que son tecnologías emergentes y que muy pronto serán usadas de manera masiva:
- WebAssembly (Wasm): esta tecnología de extensión estará disponible en la última versión del popular proxy inverso, y es que Wasm proporciona una ABI estándar diseñada para coincidir con el mecanismo controlador HTTP integrado en Go. Ahora podremos usar esta tecnología para desarrollar complementos para Traefik, y todo ello de manera mucho más fácil.
- OpenTelemetry: sirve para ver todas las métricas de manera centralizada, de hecho, Traefik ha dejado de soportar los estándares anteriores para centrarse en este. Gracias a esta característica, podemos ver todos los registros de forma estándar, para tener algo «estándar». Además, recuerda que Traefik ya soporta varios sistemas de monitorización como Datadog, Prometheus y muchos otros.
- Kubernetes Gateway API: ahora la última versión de Traefik es compatible con Gateway API que ya es oficial.
Por supuesto, el equipo de desarrollo también se ha centrado en seguir proporcionando la máxima seguridad y el enrutamiento de los servicios, además, han renovado algunas partes importantes de este enrutamiento, y también han agregado soporte para lo siguiente:
- Protocolo HTTP/3: hay que recordar que este protocolo HTTP/3 ya no está basado en TCP para la capa de transporte, sino que está basado en UDP (QUIC concretamente). Tiene muchas mejoras incorporadas, como un rendimiento mayor, establecimiento de la conexión más rápida, cifrado más simple e igual de seguro etc.
- SPIFFE (Secure Production Identity Framework For Everyone Project): permite definir un marco y un conjunto de estándares para identificar y proteger las comunicaciones entre servicios de aplicaciones. Aunque la sintaxis de Traefik para el enrutamiento era muy potente, descubrieron que algunas partes sí podían mejorarse y unificarse aún más para mejorar la experiencia de usuario.
- Tailscale: si necesitas proteger sitios web dentro de una red Tailscale, ahora Traefik podrá solicitar certificados TLS desde la API de Tailscale (con certificados de Let’s Encrypt). Esta funcionalidad es muy interesante. Además, se ha añadido soporte para el algoritmo de compresión Brotli y se ha incorporado el enrutamiento SNI con Postgres STARTTLS.
- Soporte para gRPC: gRPC es el nuevo protocolo basado en el popular RPC, por lo que ahora podemos usarlo y además, tiene ventanas interesantes como streaming bidireccional, control de flujo, cancelación y timeouts.
El equipo de desarrollo de Traefik sabe que migrar de una versión a otra, supone conoce en detalle todos los cambios y la nueva sintaxis. Han proporcionado una guía de migración completa para facilitar enormemente la actualización, e incluso se han asegurado de simplificar enormemente el proceso de transición de la versión 2 a la versión 3, garantizando la compatibilidad con la sintaxis de la versión 2, y al mismo tiempo, ofrecer soporte para la sintaxis de la versión 3 para seguir avanzando.