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 • Equip 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?

Juga una estona abans de marxar

ELS NOSTRES SERVEIS

Com et podem ajudar

Intel·ligència artificial

Agents d'IA, chatbots i assistents intel·ligents que automatitzen tasques i atenen els teus clients 24/7 per millorar l'eficiència del teu negoci.

Més info

Desenvolupament de programari

Aplicacions web, mòbils i d'escriptori, intranets, e-commerce, SaaS i plataformes de gestió dissenyades per a les necessitats concretes de la teva empresa.

Més info

Serveis cloud

Migració, infraestructura, hosting gestionat, alta disponibilitat i seguretat en Microsoft Azure i Amazon Web Services perquè el teu negoci escali sense límits.

Més info

Ciberseguretat i pentesting

Auditories de seguretat, test d'intrusió (pentesting) i protecció d'aplicacions, dades i infraestructura on-premise i cloud, amb hacking ètic i compliment normatiu.

Més info

Business Intelligence

Quadres de comandament i anàlisi de dades amb Power BI: integrem les teves fonts, dissenyem dashboards i KPIs i convertim les teves dades en decisions.

Més info

Automatització de processos

Automatitzem tasques repetitives i connectem les teves aplicacions amb n8n, Power Automate, Make i RPA, eliminant treball manual i augmentant la productivitat.

Més info

Formació per a empreses

Formem els teus equips en tecnologia amb criteri: desenvolupament web, bases de dades, Git, bones pràctiques i seguretat, automatització amb n8n, intel·ligència artificial per a empreses i creació de solucions d'IA amb Azure AI Foundry.

Més info

Auditoria de codi

Auditem el codi que creguis tu, el teu equip o una IA: et diem què està bé i què millorar, el securitzem i el deixem llest per a producció, web o app.

Més info

Generació d'imatges amb IA

Creem per tu les imatges que necessita el teu negoci amb intel·ligència artificial: producte, xarxes, publicitat, il·lustració i avatars. Tu ens dius què vols i t'ho lliurem llest per fer servir.

Més info

Generació de vídeos amb IA

Creem per tu vídeos amb intel·ligència artificial: promocionals, per a xarxes, presentadors virtuals, doblatge i animacions. Ens comptes la idea i t'ho lliurem muntat i llest per publicar.

Més info

Avatars conversacionals amb IA

Creem avatars conversacionals amb IA —humans digitals amb cara i veu— que atenen els teus clients i equips amb el coneixement de la teva empresa, a la teva web, monitors interactius, WhatsApp o Teams.

Més info

Màrqueting Online i IA

Google Ads, Meta Ads, LinkedIn Ads i posicionament en motors d'IA (GEO/AEO): captem clients i fem que la teva marca aparegui on et busquen, també a ChatGPT, Gemini i Perplexity.

Més info

Tens un projecte en ment?

Explica'ns la teva visió i la convertim en una solució de programari. Sigui quin sigui l'abast, fem realitat la teva idea.