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 read • Q2BSTUDIO Team

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.

A BREAK?

Play for a moment before you go

OUR SERVICES

How we can help you

Artificial intelligence

AI agents, chatbots, and intelligent assistants that automate tasks and serve your customers 24/7 to improve the efficiency of your business.

More info

Software Development

Web, mobile, and desktop applications, intranets, e-commerce, SaaS, and management platforms designed for your company's specific needs.

More info

Cloud services

Migration, infrastructure, managed hosting, high availability, and security on Microsoft Azure and Amazon Web Services to help your business scale without limits.

More info

Cybersecurity and pentesting

Security audits, penetration testing and protection of applications, data and infrastructure on-premise and cloud, with ethical hacking and regulatory compliance.

More info

Business Intelligence

Dashboards and data analysis with Power BI: we integrate your sources, design dashboards and KPIs and turn your data into decisions.

More info

Process automation

We automate repetitive tasks and connect your applications with n8n, Power Automate, Make, and RPA, eliminating manual work and increasing productivity.

More info

Training for Companies

We train your teams in technology with criteria: web development, databases, Git, best practices and security, automation with n8n, artificial intelligence for companies and creation of AI solutions with Azure AI Foundry.

More info

Code Auditing

We audit the code that you, your team or an AI create: we tell you what is good and what to improve, we secure it and make it ready for production, web or app.

More info

AI Image Generation

We create for you the images that your business needs with artificial intelligence: product, networks, advertising, illustration and avatars. You tell us what you want and we deliver it ready to use.

More info

AI Video Generation

We create videos with artificial intelligence for you: promotional, networking, virtual presenters, dubbing and animations. You tell us the idea and we will deliver it assembled and ready to publish.

More info

AI Conversational Avatars

We create conversational avatars with AI – digital humans with a face and voice – that serve your customers and teams with the knowledge of your company, on your website, interactive monitors, WhatsApp or Teams.

More info

Online Marketing and AI

Google Ads, Meta Ads, LinkedIn Ads and AI Engine Positioning (GEO/AEO): we attract customers and make your brand appear where they search for you, also on ChatGPT, Gemini and Perplexity.

More info

Do you have a project in mind?

Tell us your vision and we'll turn it into a software solution. Whatever the scope, we make your idea real.

Live Chat