Resolución DNS Local para Docker en Desarrollo

Soluciona CSRF en flujos OAuth/OIDC en entornos de contenedores con un DNS local que mapea nombres de contenedor a su IP, manteniendo un único hostname y cookies SameSite, evitando editar hosts.

9 sept 2025 • 3 min de lectura • Equipo Q2BSTUDIO

Inteligencia-Artificial-

En entornos modernos de backend la mayoría de los servicios se ejecutan en entornos aislados como contenedores, y la comunicación entre servicios suele resolverse con DNS interno proporcionado por el orquestador. Eso funciona bien hasta que aparece la necesidad de exponer servicios mediante una URL publica y todo deja de comportarse como en produccion.

El problema típico ocurre con flujos OAuth/OIDC donde interviene un reverse proxy, un proveedor de identidad como Keycloak y un proxy de autenticacion tipo oauth2-proxy. Ese proxy necesita una redirect url que es la que visita el navegador y una oidc issuer url que usa para obtener tokens. Para evitar problemas CSRF normalmente activas cookies seguras y SameSite, de modo que el navegador solo envia la cookie cuando la misma comunicacion usa exactamente el mismo nombre de host y HTTPS. Si tu issuer apunta a un nombre interno de contenedor mientras la redirect url usa el dominio publico del proxy, el navegador no enviara la cookie al host distinto y la comprobacion de state/nonce fallara generando errores CSRF aparentemente inexplicables.

La raiz del problema es que los navegadores aplican alcance de cookies por host y politicas SameSite estrictas; cualquier salto entre nombres de host o entre HTTP y HTTPS impide que la cookie viaje junto con la peticion y la comparacion que protege contra CSRF no encuentra el valor esperado.

Soluciones habituales pasan por manipular /etc/hosts o por herramientas que mapean nombres a containers, pero editar archivos hosts es frágil y propenso a sobrescrituras. Una alternativa mas robusta es ejecutar un servidor DNS local que observe los contenedores en ejecucion y responda con la IP del contenedor cuando la consulta coincide con un nombre o alias de contenedor; para el resto de dominios reenvia a los resolvers publicos habituales.

El comportamiento es simple: el resolver local recibe una consulta para ejemplo.com, comprueba si existe un contenedor llamado o aliasado como ejemplo.com y si existe devuelve la IP del contenedor; en caso contrario reenvia la consulta a los DNS ascendentes. Con esta aproximacion todos los pasos del flujo de autenticacion ven el mismo nombre de host y las cookies seguras y SameSite funcionan como en produccion evitando los errores CSRF.

En la practica puedes ejecutar este servidor DNS en el puerto 53 o en otro puerto y apuntar tu resolucion local hacia el servidor. Por ejemplo con systemd-resolved puedes probar temporalmente resolvectl dns INTERFACE 127.0.0.1:5300. En Docker Compose un ejemplo sencillo es declarar un servicio ubuntu con container_name github.com; tras levantar Compose cualquier consulta DNS por github.com retornara la IP del contenedor, lo que permite que dig github.com apunte a la IP interna del contenedor y que el navegador trate la comunicacion como si fuese el mismo host publico en todo el flujo.

Verificar es directo: comprueba la IP del contenedor con docker compose ps y docker inspect para confirmar que la IP devuelta por el resolver coincide con la IP del contenedor. Si todo esta configurado correctamente no necesitas editar hosts ni recurrir a soluciones temporales, y tu entorno de desarrollo se comportara de forma mas parecida al entorno de despliegue.

En Q2BSTUDIO somos especialistas en construir soluciones que mejoran el flujo de desarrollo y la fiabilidad de sistemas distribuidos. Ofrecemos servicios de desarrollo de aplicaciones a medida y arquitecturas cloud, y podemos integrar soluciones como un resolutor DNS local dentro de pipelines de desarrollo o entornos de CI para evitar estos problemas de discovery en contenedores. Tambien acompañamos con servicios cloud aws y azure para asegurar despliegues coherentes entre desarrollo y produccion.

Ademas de desarrollo y despliegue ofrecemos expertise en inteligencia artificial, ciberseguridad, servicios de inteligencia de negocio y herramientas como power bi. Si necesitas IA para empresas, agentes IA, pentesting o automatizacion de procesos podemos asesorarte para que la infraestructura de desarrollo y las politicas de seguridad no entorpezcan flujos criticos como la autenticacion OIDC.

Beneficios principales: una sola hostname de extremo a extremo reduce sorpresas con cookies y auth, evita ediciones manuales de hosts y funciona con Compose sin complicaciones. Si quieres una demo o integrarlo en tu stack contacta con nosotros y evaluamos la mejor opcion para tu arquitectura y procesos de desarrollo.

¿UNA PAUSA?

Juega un momento antes de irte

NUESTROS SERVICIOS

Cómo podemos ayudarte

Inteligencia artificial

Agentes de IA, chatbots y asistentes inteligentes que automatizan tareas y atienden a tus clientes 24/7 para mejorar la eficiencia de tu negocio.

Más info

Desarrollo de software

Aplicaciones web, móviles y de escritorio, intranets, e-commerce, SaaS y plataformas de gestión diseñadas para las necesidades concretas de tu empresa.

Más info

Servicios cloud

Migración, infraestructura, hosting gestionado, alta disponibilidad y seguridad en Microsoft Azure y Amazon Web Services para que tu negocio escale sin límites.

Más info

Ciberseguridad y pentesting

Auditorías de seguridad, test de intrusión (pentesting) y protección de aplicaciones, datos e infraestructura on-premise y cloud, con hacking ético y cumplimiento normativo.

Más info

Business Intelligence

Cuadros de mando y análisis de datos con Power BI: integramos tus fuentes, diseñamos dashboards y KPIs y convertimos tus datos en decisiones.

Más info

Automatización de procesos

Automatizamos tareas repetitivas y conectamos tus aplicaciones con n8n, Power Automate, Make y RPA, eliminando trabajo manual y aumentando la productividad.

Más info

Formación para empresas

Formamos a tus equipos en tecnología con criterio: desarrollo web, bases de datos, Git, buenas prácticas y seguridad, automatización con n8n, inteligencia artificial para empresas y creación de soluciones de IA con Azure AI Foundry.

Más info

Auditoría de código

Auditamos el código que creas tú, tu equipo o una IA: te decimos qué está bien y qué mejorar, lo securizamos y lo dejamos listo para producción, web o app.

Más info

Generación de imágenes con IA

Creamos por ti las imágenes que necesita tu negocio con inteligencia artificial: producto, redes, publicidad, ilustración y avatares. Tú nos dices qué quieres y te lo entregamos listo para usar.

Más info

Generación de vídeos con IA

Creamos por ti vídeos con inteligencia artificial: promocionales, para redes, presentadores virtuales, doblaje y animaciones. Nos cuentas la idea y te lo entregamos montado y listo para publicar.

Más info

Avatares conversacionales con IA

Creamos avatares conversacionales con IA —humanos digitales con cara y voz— que atienden a tus clientes y equipos con el conocimiento de tu empresa, en tu web, monitores interactivos, WhatsApp o Teams.

Más info

Marketing Online e IA

Google Ads, Meta Ads, LinkedIn Ads y posicionamiento en motores de IA (GEO/AEO): captamos clientes y hacemos que tu marca aparezca donde te buscan, también en ChatGPT, Gemini y Perplexity.

Más info

¿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.

Live Chat