Un proxy inverso recibe HTTPS en el puerto 443 y dirige las solicitudes a aplicaciones internas. Caddy o Nginx Proxy Manager pueden realizar esta función. Sus paneles administrativos deben permanecer privados.
Configuración
- Reserva la dirección LAN del proxy.
- Configura DNS hacia tu IP pública y DDNS si hace falta.
- Redirige TCP 443 al proxy.
- Asocia cada nombre con la aplicación interna correcta.
Certificados
HTTP-01 normalmente necesita el puerto 80 accesible. DNS-01 valida un registro DNS y sirve para hosts privados. Usa un token API con permisos adecuados: un token DDNS no equivale automáticamente a uno de la API DNS. Un certificado wildcard cubre un nivel adicional, no la raíz de la zona.
Pruebas
Configura proxies de confianza, WebSockets y límites de carga. Comprueba la renovación y la recarga efectiva del certificado.
Ejemplos de configuración
Adapta valores, interfaces y puertos. Los ejemplos pueden corresponder a versiones diferentes: no ejecutes juntas alternativas incompatibles. Nunca publiques tokens reales ni claves privadas.
ha.yourname.uk.app {
reverse_proxy 192.168.1.20:8123
}
films.yourname.uk.app {
reverse_proxy 192.168.1.30:8096
}
cloud.yourname.uk.app {
reverse_proxy 192.168.1.40:11000
}sudo systemctl reload caddy
journalctl -u caddy -f # watch the certificates being issued# as root on the proxy machine (sudo -i)
apt install unzip python3 curl
curl https://get.acme.sh | sh -s email=you@example.com
curl -fsSLO https://uk.app/downloads/ukapp-tools.zip && unzip ukapp-tools.zip
install -m 755 ukapp.py /usr/local/bin/ukapp
cp dns_ukapp.sh ~/.acme.sh/dnsapi/
install -m 600 /dev/null /root/.ukapp-api-token
nano /root/.ukapp-api-token # paste the API token, saveexport UKAPP_TOKEN="$(cat /root/.ukapp-api-token)"
~/.acme.sh/acme.sh --issue --server letsencrypt --dns dns_ukapp --dnssleep 300 \
-d yourname.uk.app -d '*.yourname.uk.app'mkdir -p /etc/caddy/certs
~/.acme.sh/acme.sh --install-cert -d yourname.uk.app --ecc \
--fullchain-file /etc/caddy/certs/fullchain.pem \
--key-file /etc/caddy/certs/key.pem \
--reloadcmd "chown -R caddy:caddy /etc/caddy/certs && systemctl reload caddy"(wildcard) {
tls /etc/caddy/certs/fullchain.pem /etc/caddy/certs/key.pem
}
ha.yourname.uk.app {
import wildcard
reverse_proxy 192.168.1.20:8123
}cat > /usr/local/sbin/acme-renew <<'EOF'
#!/bin/sh
UKAPP_TOKEN="$(cat /root/.ukapp-api-token)"
export UKAPP_TOKEN
exec /root/.acme.sh/acme.sh --cron --home /root/.acme.sh
EOF
chmod 700 /usr/local/sbin/acme-renew
~/.acme.sh/acme.sh --uninstall-cronjob
echo '17 3 * * * root /usr/local/sbin/acme-renew >/var/log/acme-renew.log 2>&1' > /etc/cron.d/acme-renewComprobaciones finales
Prueba con datos móviles fuera de tu Wi-Fi. Verifica por separado DNS, puerto previsto, certificado HTTPS válido e inicio de sesión. Mantén privados los paneles administrativos, instala actualizaciones y prueba restaurar una copia. Revisa los cortafuegos IPv6 e IPv4. Un test de puerto correcto no es una auditoría de seguridad.
Esta edición localizada resume la guía original. Los comandos mantienen su sintaxis original. Consulta la documentación enlazada del fabricante para tu versión exacta.