Coolify, Dokploy, CapRover y plataformas similares traen su propio reverse proxy interno (generalmente basado en Traefik) para enrutar el tráfico entre las distintas apps que desplegás en tu VPS. Si además vas a apuntar un dominio a esa VPS desde el panel de tu proveedor de hosting, vas a tener dos proxys en cadena: el que administra el dominio y el certificado SSL por vos, y el que trae Coolify/Dokploy adentro de tu VPS. Esta guía explica cómo configurar esa combinación sin que te terminen apareciendo errores de certificado o loops de redirección.
¿Cuándo aplica esta guía?
- Instalaste Coolify, Dokploy, CapRover, o cualquier plataforma self-hosted con proxy propio en tu VPS.
- Vas a (o ya) apuntaste un dominio a esa VPS desde el panel de tu proveedor.
- El certificado SSL de ese dominio lo gestiona el proveedor (no vos, no Coolify/Dokploy).
Por qué importa el puerto
Cuando tu proveedor gestiona el dominio y el certificado por vos, el tráfico le llega a tu VPS ya descifrado (HTTP plano, no HTTPS) en el puerto interno que vos configures en el panel. El proxy que trae tu plataforma (Coolify/Dokploy) tiene que estar escuchando en ese mismo puerto para poder recibir la conexión y enrutarla a la app correcta según el dominio.
Si el puerto no coincide, la conexión no llega a destino y vas a ver un error de “conexión rechazada” o “servicio no disponible” al entrar al dominio.
Paso a paso
1. Identificá en qué puerto escucha el proxy de tu plataforma
En la VPS, revisá qué puerto del host tiene mapeado el container del proxy:
docker ps
Buscá el container del proxy (en Coolify suele llamarse coolify-proxy; en Dokploy, el
container de Traefik del stack). Vas a ver algo como 0.0.0.0:80->80/tcp — ese 80 (el de la
izquierda, el puerto del host) es el que necesitás.
2. Configurá ese mismo puerto al crear el dominio en el panel
Al dar de alta el dominio en el panel de tu proveedor, vas a tener un campo de “puerto interno”
(o similar). Poné ahí el puerto que identificaste en el paso 1 — normalmente 80, salvo que lo
hayas cambiado vos mismo al instalar la plataforma.
3. Desactivá el redirect automático de HTTP a HTTPS en Coolify/Dokploy para ese dominio
Como el certificado ya lo maneja tu proveedor, el proxy interno de tu plataforma no debería
intentar redirigir de HTTP a HTTPS por su cuenta para ese dominio — si lo hace, puede generar un
loop de redirecciones (el navegador nunca termina de cargar la página, o ves el error
ERR_TOO_MANY_REDIRECTS).
- Coolify: en la configuración de la app/dominio, desactivá la opción de “Force HTTPS” / redirección forzada.
- Dokploy: en la configuración del dominio de la app, asegurate de que no tenga marcada la redirección HTTPS forzada.
4. Desactivá (o ignorá) el emisor de certificados Let’s Encrypt propio de la plataforma
Coolify y Dokploy suelen intentar emitir su propio certificado Let’s Encrypt automáticamente para cada dominio que configurás. En este escenario no hace falta — el certificado real ya lo tiene tu proveedor — y además va a fallar solo, porque la validación de Let’s Encrypt no puede llegar directo a tu VPS (el dominio apunta primero al proxy de tu proveedor). No es un problema, pero para no llenarte los logs de intentos fallidos, desactivá la emisión automática de SSL para ese dominio en la configuración de la app.
Cómo verificar que quedó bien
Desde la propia VPS, probá pegarle al proxy interno directamente con el header Host del
dominio:
curl -I -H "Host: tudominio.com" http://localhost:PUERTO
Si responde con un código HTTP normal (200, 301 a una ruta de tu app, etc.) y no con “connection refused”, el proxy interno está escuchando y enrutando bien. Después probá el dominio real desde afuera para confirmar que el certificado se ve correcto (candado verde, sin advertencias).
Errores comunes
ERR_TOO_MANY_REDIRECTS: casi siempre es el redirect HTTP→HTTPS del paso 3 que quedó activo. Desactivalo para ese dominio.- Advertencia de certificado no válido / autofirmado: por lo general significa que el puerto configurado en el panel no coincide con el puerto real del proxy interno, y el tráfico está cayendo en otro servicio que no espera esa conexión. Revisá el paso 1.
- “Conexión rechazada” o “servicio no disponible”: mismo motivo — puerto mal configurado, o
el container del proxy no está corriendo (
docker pspara confirmar que estéUp).
Un tema de seguridad a tener en cuenta
El panel de administración de Coolify/Dokploy (normalmente en otro puerto, ej. 8000) es
distinto del proxy que atiende tus dominios. No lo dejes expuesto sin una contraseña fuerte
(y activá 2FA si la plataforma lo ofrece) — es una puerta de entrada a todas las apps que
desplegás en la VPS.