DNS e Cloudflare
NexCMP richiede un nome DNS — il suo dominio principale — e funziona in due modalità.
Modalità A: il DNS punta direttamente al server
- Crea un record A
cloud.example.com → <server public IPv4>(e un record AAAA se il server dispone di IPv6). - Facoltativo, se utilizzati:
admin.cloud.example.comepartner.cloud.example.comche puntano allo stesso IP. - Esegui (o riesegui) l'installer. Rileva che il nome si risolve nell'IP pubblico del server e ottiene un certificato Let's Encrypt tramite la sfida HTTP-01 sulla porta 80.
Modalità B: il dominio è protetto da proxy Cloudflare
Crea gli stessi record con la nuvola arancione (Proxied). L'installer rileva che il nome si risolve esclusivamente verso gli indirizzi di Cloudflare e passa alla modalità Cloudflare:
- nginx rimane in ascolto sulle porte 80/443 del tuo server;
- il vero IP del visitatore viene letto dall'intestazione
CF-Connecting-IP— solo per le connessioni provenienti dagli intervalli pubblicati di Cloudflare, in modo che non possa essere falsificato da nessun altro; - il certificato viene ottenuto tramite Let's Encrypt (Cloudflare inoltra la richiesta di verifica all'origine); se ciò non è ancora possibile, viene creato un certificato di origine autofirmato per consentire il funzionamento della modalità "Full", mentre una successiva esecuzione del programma di installazione effettuerà l'aggiornamento a Let's Encrypt.
Puoi forzare questa modalità con --behind-cloudflare.
::: important Imposta la modalità SSL/TLS in Cloudflare In Cloudflare vai su SSL/TLS › Overview e seleziona Full (strict) una volta che il programma di installazione segnala un certificato Let's Encrypt. Con un certificato di origine autofirmato usa Full. Flexible causerà cicli di reindirizzamento. :::
TIP
Se "Always Use HTTPS" è attivo, Cloudflare invia la richiesta di validazione alla porta 443 della tua origine. Il programma di installazione gestisce la situazione creando prima il certificato autofirmato temporaneo, per poi riprovare con Let's Encrypt.
Verifica
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 expiryI certificati si rinnovano automaticamente tramite il timer di certbot. Il rinnovo utilizza la webroot /var/www/nexcmp-acme, quindi la porta 80 deve rimanere raggiungibile (direttamente o tramite Cloudflare).
Problemi comuni
| Sintomo | Causa | Soluzione |
|---|---|---|
| Il programma di installazione indica "DNS … does not point to … (nor to Cloudflare) — skipping nginx/TLS" | Record DNS mancante, errato o non propagato | Correggi il record, attendi la propagazione ed esegui nuovamente il programma di installazione. |
Il browser mostra ERR_TOO_MANY_REDIRECTS dietro Cloudflare | La modalità SSL è Flexible | Imposta Full (strict) (o Full). |
| Errore Cloudflare 525/526 | Certificato di origine rifiutato | Usa Full con un certificato di origine autofirmato o Full (strict) con Let's Encrypt. |
| I log mostrano solo gli IP di Cloudflare per tutti i visitatori | Non sei in modalità Cloudflare | Esegui nuovamente il programma di installazione con --behind-cloudflare. |
Maggiori informazioni in Installation errors.