Cómo DNS convierte tu IP en dominio memorable

Clase 11 de 22Curso de Despliegue de Aplicaciones Python en la Nube

Resumen

Configura con confianza cómo pasar de una IP a un dominio: desde el mapeo local hasta el uso de DNS públicos y la vinculación en NGINX. Verás cómo una app en Django en el puerto 80 queda accesible con un nombre memorable, cómo crear registros en Cloudflare y cómo validar con dig para asegurar que todo responde como esperas.

¿Por qué usar un dominio y DNS en lugar de una IP?

Un dominio es más fácil de recordar que una IP y, gracias a los DNS, se traduce automáticamente a la dirección numérica que la red necesita. Al servir tu app en el puerto 80, el navegador accederá por defecto sin necesidad de indicar el puerto.

  • Acceso memorable: un dominio como google.com es fácil de escribir y recordar.
  • Resolución de nombres: los DNS convierten el dominio en una IP que entiende la red.
  • Puerto 80 por defecto: navegación directa sin añadir puertos en la URL.
  • Compatibilidad en Django: puedes usar WSGI o ASGI, ambas soportadas.
  • Buenas prácticas: ideal acceder por dominio y no por IP directa.

¿Cómo mapear en local y en público con DNS?

Puedes simular un dominio en tu equipo para desarrollo y, cuando estés listo, configurarlo en un servidor de DNS público para que cualquiera en Internet lo resuelva.

¿Cómo mapear un dominio en local con etc/host?

  • Abrir la terminal y editar con sudo y vim el archivo del sistema en etc/host.
  • Agregar la línea: 127.0.0.1 deploy_with_python.local.
  • Guardar y probar en el navegador: el dominio local apunta a tu localhost.
  • Nota: un nombre .local no es público. Para Internet necesitas un servidor de DNS.

¿Cómo crear registros A y CNAME en Cloudflare y validar con dig?

  • En el dashboard de Cloudflare, ir a la zona de DNS y agregar un record tipo A con @ para el dominio raíz apuntando a la IP pública. Sin http ni protocolos.
  • Usar tipo CNAME cuando el valor sea otro dominio y no una IP.
  • Desactivar el proxy status temporalmente si quieres ver la IP real al validar.
  • Verificar con dig dominio: verás el TTL (por ejemplo, trescientos) y la IP de respuesta.
  • Comparar la respuesta con otro servidor de DNS si lo deseas (por ejemplo, el de AWS).
  • Al visitar deploywithpython.com, deberías ver el mensaje servido por tu máquina remota.
  • Recomendación operativa: permitir el acceso solo por dominio, no por IP directa.

¿Cómo apuntar el dominio a NGINX en Ubuntu?

NGINX gestiona sitios con archivos de configuración en etc/nginx. La convención separa sitios disponibles de sitios habilitados para facilitar el control y los cambios.

¿Cómo crear la configuración del servidor con server_name y location?

  • En etc/nginx/sites-available, crear tudominio.conf con sudo y vim.
  • Definir un bloque server que escuche en el puerto 80 y tenga server_name tudominio.
  • En location /, retornar un 200 con el texto "hola desde el archivo de conf".
  • Añadir un header para que el navegador reconozca el content type como text/plain.
  • Cuidar la sintaxis: cada línea termina con punto y coma.

¿Cómo habilitarlo con enlace simbólico y probar la sintaxis?

  • En sites-enabled, crear un enlace simbólico con ln -s apuntando al archivo en sites-available.
  • Confirmar con ls o ls -lah que el enlace apunte a la ruta correcta.
  • Validar la configuración con el comando de prueba nginx.t: si hay errores, verás la línea exacta.
  • Corregir problemas comunes, por ejemplo, quitar dos puntos extra en server_name y editar con sudo.
  • Reiniciar el servicio con sudo service nginx restart para aplicar los cambios.
  • Resultado esperado: el dominio carga "hola desde el archivo de configuración" y la IP sigue mostrando el sitio default.

¿Tienes dudas o quieres compartir cómo nombraste tu dominio local? Cuéntalo en los comentarios y sigamos mejorando la configuración juntos.