DNS e Cloudflare
O NexCMP precisa de um nome DNS — seu domínio principal — e funciona em dois modos.
Modo A: O DNS aponta diretamente para o servidor
- Crie um registro A
cloud.example.com → <server public IPv4>(e um registro AAAA se o servidor tiver IPv6). - Opcional, se você os utilizar:
admin.cloud.example.comepartner.cloud.example.comapontando para o mesmo IP. - Execute (ou reexecute) o installer. Ele verifica que o nome resolve para o IP público do próprio servidor e obtém um certificado Let's Encrypt por meio do desafio HTTP-01 na porta 80.
Modo B: O domínio é proxied pelo Cloudflare
Crie os mesmos registros com a nuvem laranja (Proxied). O instalador detecta que o nome resolve apenas para endereços da Cloudflare e muda para o modo Cloudflare:
- o nginx ainda escuta nas portas 80/443 no seu servidor;
- o IP real do visitante é lido a partir do cabeçalho
CF-Connecting-IP— apenas para conexões vindas das faixas publicadas da Cloudflare, para que não possa ser forjado por mais ninguém; - o certificado é obtido através do Let's Encrypt (a Cloudflare encaminha o desafio para sua origem); se isso ainda não for possível, um certificado de origem autoassinado é criado para que o modo "Full" funcione, e uma execução posterior do instalador faz o upgrade para o Let's Encrypt.
Você pode forçar este modo com --behind-cloudflare.
::: important Definir o modo SSL/TLS na Cloudflare Na Cloudflare, vá em SSL/TLS › Overview e selecione Full (strict) assim que o instalador reportar um certificado Let's Encrypt. Com um certificado de origem autoassinado, use Full. Flexible causará loops de redirecionamento. :::
TIP
Se "Always Use HTTPS" estiver ativado, a Cloudflare envia a solicitação de validação para a porta 443 da sua origem. O instalador lida com isso criando primeiro o certificado autoassinado temporário e, em seguida, tentando novamente o Let's Encrypt.
Verifique
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 expiryOs certificados são renovados automaticamente com o timer do certbot. A renovação usa o webroot /var/www/nexcmp-acme, portanto a porta 80 deve permanecer acessível (diretamente ou através da Cloudflare).
Problemas comuns
| Sintoma | Causa | Correção |
|---|---|---|
| Instalador diz "DNS … does not point to … (nor to Cloudflare) — skipping nginx/TLS" | Registro DNS ausente, incorreto ou não propagado | Corrija o registro, aguarde a propagação e execute o instalador novamente. |
O navegador mostra ERR_TOO_MANY_REDIRECTS atrás da Cloudflare | O modo SSL é Flexible | Defina Full (strict) (ou Full). |
| Erro 525/526 da Cloudflare | Certificado de origem rejeitado | Use Full com um certificado de origem autoassinado, ou Full (strict) com o Let's Encrypt. |
| Os visitantes mostram todos IPs da Cloudflare nos logs | Não está no modo Cloudflare | Execute o instalador novamente com --behind-cloudflare. |
Mais informações em Installation errors.