ELIEZER ARAUJO PRESENTA

Proxy Inverso & Seguridad SSL

AWS EC2 • Docker • Nginx Proxy Manager • DuckDNS

1. La Red de Contenedores

Para que el Proxy y las Webs se comuniquen sin exponer puertos al exterior, creamos una red virtual interna.

docker network create red-internet

Luego, en cada docker-compose.yml, añadimos:

networks:
  default:
    external:
      name: red-internet

2. DuckDNS: Script de Actualización

Las IPs de AWS pueden cambiar al reiniciar. Necesitamos un script que avise a DuckDNS de nuestra nueva IP automáticamente.

A. Crear el script

mkdir ~/duckdns && nano ~/duckdns/duck.sh

B. Contenido del Script (duck.sh)

#!/bin/bash
echo url="https://www.duckdns.org/update?domains=TU_DOMINIO&token=TU_TOKEN&ip=" | curl -k -o ~/duckdns/duck.log -K -
⚠️ Importante: Dale permisos de ejecución con chmod +x duck.sh y prográmalo en el cron (crontab -e) para que corra cada 5 minutos.

3. Certificados SSL (HTTPS)

Para obtener el candado verde 🔒, usamos Let's Encrypt dentro de Nginx Proxy Manager.

Requisitos Críticos:

🎓 Validación de Conocimientos

Demuestra que dominas la infraestructura respondiendo correctamente:

1. ¿Por qué usamos un script para DuckDNS?
2. ¿Qué puerto necesita Let's Encrypt abierto para validar el certificado?
3. En NPM, ¿A qué IP/Hostname apuntamos "web1"?