Como você espera que seu servidor da Web saiba se uma conexão chegou ao Cloudflare via HTTPS ou HTTP? Existem basicamente duas opções:
- Cloudflare define um cabeçalho, indicando se a solicitação foi ou não recebida por HTTPS; ou
- As conexões com o Cloudflare via HTTPS também são enviadas por proxy para você por HTTPS.
Eu achei que o Cloudflare oferecia suporte à opção 1, mas não consigo encontrar documentos nele agora. No entanto, eles definitivamente suportam a opção 2 e talvez até precise comprar seu próprio certificado TLS para fazer isso . Eu recomendaria strongmente fazer isso e ativar a porta 443 em seu servidor nginx para usar o TLS.