A melhor maneira de resolver esse problema é usar o Túnel Argo do Cloudflare para conectar seu servidor ao Cloudflare. Com o Argo Tunnel, seu servidor se conecta ao Cloudflare, em vez de o Cloudflare se conectar ao seu servidor. Portanto, o seu servidor não precisa ter um endereço IP público ou estar exposto à Internet - ele só precisa ser capaz de fazer conexões de saída.
Se o Argo Tunnel não funcionar para você, outra opção é configurar seu servidor para que ele aceite conexões apenas do Cloudflare. Você pode fazer isso configurando seu firewall para aceitar conexões apenas dos endereços IP da Cloudflare ou ativando Autenticated Origin Pulls e, em seguida, configurar seu servidor para exigir que as conexões HTTPS sejam autenticadas com o certificado de cliente da Cloudflare. AVISO: Em qualquer uma dessas soluções que não sejam Argo-Tunnel, é importante que o servidor aceite apenas solicitações HTTP em que o cabeçalho Host
inclua seu domínio. Caso contrário, um invasor pode se inscrever em sua própria conta do Cloudflare e inserir seu endereço IP em suas configurações de DNS, fazendo com que as solicitações acessem seu servidor "do Cloudflare", mas elas terão o domínio do invasor no cabeçalho Host
. Para verificar o Host
header, você poderia, por exemplo, configurar nginx
como um proxy reverso na frente do seu servidor e configurá-lo com um default_server
que sempre retorna 404. Se você usar o Argo Tunnel, então, você não precisa se preocupar com o Host
header.