4. Reverse proxy (Caddy)
Caddy es un reverse proxy moderno que gestiona los certificados SSL de Let’s Encrypt automaticamente. Esto es obligatorio porque:
- Spotify OAuth requiere HTTPS en la redirect URI
- OpenClaw necesita una URL publica con HTTPS para hacer webfetch
Instalar Caddy
Section titled “Instalar Caddy”apt install -y debian-keyring debian-archive-keyring apt-transport-https curlcurl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpgcurl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian/deb.txt' | tee /etc/apt/sources.list.d/caddy-stable.listapt updateapt install caddyConfigurar el Caddyfile
Section titled “Configurar el Caddyfile”Edita /etc/caddy/Caddyfile:
nano /etc/caddy/CaddyfileContenido (reemplaza tudominio.com con tu dominio):
tudominio.com { reverse_proxy localhost:8888 { header_up Host {host} header_up X-Real-IP {remote_host} header_up X-Forwarded-For {remote_host} header_up X-Forwarded-Proto {scheme} }}Esta configuracion:
- Escucha en los puertos 80 y 443
- Obtiene automaticamente un certificado SSL de Let’s Encrypt
- Redirige todo el trafico HTTPS al puerto 8888 donde esta jaleo-api
- Pasa las cabeceras originales para que la API sepa la IP real del cliente
Reiniciar Caddy
Section titled “Reiniciar Caddy”systemctl restart caddyVerificar
Section titled “Verificar”systemctl status caddycurl -I https://tudominio.comSi Caddy no arranca, revisa los logs:
journalctl -u caddy --no-pager -n 50Problemas comunes:
| Problema | Solucion |
|----------|----------|
| Port 80/443 already in use | Seguro que nginx o apache estan corriendo. Paramlos con systemctl stop nginx y systemctl disable nginx |
| Certificate error | El dominio todavia no apunta a la IP del VPS. Espera a que el DNS se propague |
| 502 Bad Gateway | jaleo-api no esta corriendo. Verifica con pm2 status |
Siguiente: Numero de WhatsApp