Guia de Configuração do Proxy Reverso Cloudflare Tunnel com cloudflared no ServBay
O Cloudflare Tunnel (anteriormente conhecido como Argo Tunnel) é um serviço de proxy reverso de zero confiança oferecido pela Cloudflare, que permite expor serviços locais com segurança, sem a necessidade de abrir portas públicas. Este guia irá orientá-lo sobre como estabelecer um túnel seguro no ambiente ServBay utilizando cloudflared, permitindo o acesso à internet para serviços locais.
Princípio Técnico
O Cloudflare Tunnel conecta serviços locais de maneira segura aos nós de borda da Cloudflare criando uma conexão criptografada de saída (baseada no protocolo QUIC). Essa solução ignora completamente a necessidade de penetração NAT, sem exigir a configuração de regras de firewall, ao mesmo tempo que integra as funcionalidades de proteção contra DDoS e firewall de aplicações web (WAF) da Cloudflare.
Preparação do Ambiente
1. Instalação do cliente cloudflared
Sistema macOS (arquitetura ARM):
# Baixar o arquivo binário
curl -L https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-darwin-amd64.tgz | tar xz
sudo mv cloudflared /usr/local/bin/
2
3
Verificar a instalação:
cloudflared --version
# cloudflared version 2024.5.0 (built 2024-05-01)
2
2. Login na conta Cloudflare
cloudflared tunnel login
Após executar, o navegador será aberto automaticamente, permitindo que você selecione o domínio que deseja gerenciar para concluir a autorização.
Prática de Configuração do Túnel
Fluxo de Configuração Principal
- Criar túnel
cloudflared tunnel create servbay-tunnel
# Exemplo de saída: Created tunnel servbay-tunnel with id xxxx-xxxx-xxxx
2
- Configurar registro DNS
cloudflared tunnel route dns servbay-tunnel servbay-tunnel.seudominio.com
- Criar o arquivo de configuração
Crie~/.cloudflared/config.yml
:
tunnel: <TUNNEL_ID>
credentials-file: /caminho/para/credentials.json
ingress:
- hostname: servbay-tunnel.seudominio.com
service: https://servbay.local
originRequest:
noTLSVerify: true # Habilite para ignorar a verificação do certificado local
- service: http_status:404 # Regra de fallback padrão
2
3
4
5
6
7
8
9
Iniciar o serviço de túnel
cloudflared tunnel run servbay-tunnel
Validação do Serviço
- Acesse o domínio configurado:
https://servbay-tunnel.seudominio.com
- Pontos a verificar:
- O conteúdo exibido é consistente com o serviço local
- A barra de endereços do navegador exibe um certificado SSL válido emitido pela Cloudflare
- Os cabeçalhos da resposta contêm a identificação
CF-RAY
Dicas de Configuração Avançada
Roteamento para Múltiplos Serviços
ingress:
- hostname: api.seudominio.com
service: https://api.local
- hostname: app.seudominio.com
service: https://app.local
2
3
4
5
Monitoramento de Tráfego
# Ver indicadores em tempo real
cloudflared tunnel info servbay-tunnel
# Obter logs detalhados
cloudflared tunnel logs servbay-tunnel
2
3
4
5
Solução de Problemas
Fenômeno | Solução |
---|---|
502 Bad Gateway | Verifique se o serviço local está em execução e se o endereço do serviço na configuração do túnel está correto |
Erro de Resolução DNS | Confirme se o CNAME do registro DNS está apontando corretamente (deve ser <UUID>.cfargotunnel.com ) |
Falha de Verificação de Certificado | Garanta que o hostname no config.yml corresponda ao nome do certificado, verifique se a cadeia de certificados local está completa |
Vantagens da Solução
Com a solução Cloudflare Tunnel, os usuários do ServBay podem obter:
- Proteção empresarial de segurança: mitigação interna de DDoS e proteção WAF
- Sem exposição de portas: sem necessidade de configurar regras de firewall ou NAT
- Roteamento inteligente: otimização da velocidade de acesso através da rede Anycast global da Cloudflare
- Quota gratuita: o plano gratuito inclui até 50 túneis ativos por mês
É recomendado que ambientes de produção implementem políticas de Access para um controle de acesso mais granular, garantindo a segurança dos serviços.