DNS y Cloudflare
NexCMP necesita un nombre DNS —su dominio principal— y funciona en dos modos.
Modo A: el DNS apunta directamente al servidor
- Cree un registro A
cloud.example.com → <server public IPv4>(y un registro AAAA si el servidor tiene IPv6). - Opcional, si los utiliza:
admin.cloud.example.comypartner.cloud.example.comapuntando a la misma IP. - Ejecute (o vuelva a ejecutar) el instalador. Este detecta que el nombre resuelve a la propia IP pública del servidor y obtiene un certificado de Let's Encrypt mediante el desafío HTTP-01 en el puerto 80.
Modo B: el dominio pasa por el proxy de Cloudflare
Cree los mismos registros con la nube naranja (Proxied). El instalador detecta que el nombre solo resuelve a direcciones de Cloudflare y cambia al modo Cloudflare:
- nginx sigue escuchando en los puertos 80/443 de su servidor;
- la IP real del visitante se lee del encabezado
CF-Connecting-IP— únicamente para conexiones provenientes de los rangos publicados de Cloudflare, por lo que nadie más puede falsificarla; - el certificado se obtiene a través de Let's Encrypt (Cloudflare reenvía el desafío a su origen); si aún no es posible, se crea un certificado de origen autofirmado para que funcione el modo "Full", y una ejecución posterior del instalador actualizará a Let's Encrypt.
Puede forzar este modo con --behind-cloudflare.
::: important Configurar el modo SSL/TLS en Cloudflare En Cloudflare, vaya a SSL/TLS › Overview y seleccione Full (strict) una vez que el instalador reporte un certificado de Let's Encrypt. Con un certificado de origen autofirmado, use Full. Flexible provocará bucles de redirección. :::
TIP
Si "Always Use HTTPS" está activado, Cloudflare envía la solicitud de validación al puerto 443 de su origen. El instalador gestiona esto creando primero el certificado autofirmado temporal y reintentando luego con Let's Encrypt.
Comprobación
bash
dig +short cloud.example.com # A record (a Cloudflare address in mode B)
curl -I https://cloud.example.com/healthz
sudo certbot certificates # certificate name, domains and expiryLos certificados se renuevan automáticamente mediante el temporizador de certbot. La renovación utiliza el webroot /var/www/nexcmp-acme, por lo que el puerto 80 debe permanecer accesible (directamente o a través de Cloudflare).
Problemas comunes
| Síntoma | Causa | Solución |
|---|---|---|
| El instalador indica "DNS … does not point to … (nor to Cloudflare) — skipping nginx/TLS" | Registro DNS ausente, incorrecto o no propagado | Corrija el registro, espere la propagación y vuelva a ejecutar el instalador. |
El navegador muestra ERR_TOO_MANY_REDIRECTS detrás de Cloudflare | El modo SSL es Flexible | Establezca Full (strict) (o Full). |
| Error 525/526 de Cloudflare | Certificado de origen rechazado | Use Full con un certificado de origen autofirmado, o Full (strict) con Let's Encrypt. |
| Todos los visitantes muestran IPs de Cloudflare en los registros | No está en modo Cloudflare | Vuelva a ejecutar el instalador con --behind-cloudflare. |
Más información en Errores de instalación.