*# Como configurar Cloudflare Tunnel no seu site: guia passo a passo
Meta descrição: Aprenda como configurar Cloudflare Tunnel para proteger e expor seu site com segurança. Guia simples, comandos e dicas para evitar erros.
Se você quer publicar um site (ou um painel interno) sem abrir portas no roteador, sem lidar com IP dinâmico e ainda ganhar uma camada extra de segurança, o Cloudflare Tunnel é uma das soluções mais práticas hoje. Neste guia para iniciantes, você vai aprender como configurar Cloudflare Tunnel usando o cloudflared passo a passo, com foco em Cloudflare Tunnel no Windows e no cenário mais comum: expor servidor local com Cloudflare (um site rodando no seu computador ou em um servidor na rede).
A ideia central é simples: em vez de aceitar conexões “entrando” na sua rede (via NAT/port forwarding), você cria uma conexão “saindo” do seu servidor para a Cloudflare. A Cloudflare, então, entrega o tráfego para você por esse túnel. Na prática, isso reduz bastante a superfície de ataque e elimina dores comuns de infraestrutura.
Ao longo do artigo, vou te mostrar:
- o que é o Cloudflare Tunnel e quando vale a pena usar;
- como instalar o cloudflared no Windows;
- como criar e configurar um túnel, mapear domínio/subdomínio e apontar para seu serviço local;
- como testar, diagnosticar erros e ajustar configurações.
Vamos ao passo a passo.*

Configurar o Cloudflare Tunnel é, essencialmente, conectar seu servidor (local ou remoto) à rede da Cloudflare sem expor diretamente sua máquina na internet. Em vez de abrir a porta 80/443 no roteador, você roda o cloudflared (um agente oficial) na máquina onde seu site está hospedado. Esse agente cria um túnel seguro até a Cloudflare. A partir daí, você publica seu domínio/subdomínio e encaminha o tráfego para http://localhost:porta (ou para o IP interno da sua rede).
Na prática, como configurar Cloudflare Tunnel envolve quatro partes:
1) Domínio na Cloudflare: seu domínio precisa estar gerenciado pela Cloudflare (DNS usando os nameservers dela). Sem isso, você não consegue criar o roteamento público (hostname) do jeito correto.
2) Instalar o cloudflared: é a ferramenta que “mora” no seu servidor e mantém a conexão com a Cloudflare.
3) Criar o Tunnel e mapear hostnames: você cria um túnel, autentica sua conta, e define regras do tipo “quando alguém acessar site.seudominio.com, envie para http://localhost:3000”.
4) Conferir SSL, headers e políticas: como o tráfego passa pela Cloudflare, você pode (e deve) ajustar TLS/SSL, proteções básicas, e até controlar acesso com o Cloudflare Access (Zero Trust) se for uma aplicação interna.
O resultado é um setup geralmente mais rápido do que configurar firewall, NAT e certificados manualmente — principalmente se você está começando. E, como bônus, você ganha recursos do ecossistema Cloudflare (WAF, cache, rate limiting, logs, etc.) conforme sua necessidade.
No restante do guia, vou focar no cenário de site/serviço HTTP, usando Cloudflare Tunnel no Windows. Mesmo assim, os conceitos servem para Linux e VPS também — o que muda é só a forma de instalar e manter o processo rodando como serviço.
Dica de contexto: se você está expondo algo sensível (ex.: painel administrativo, automação, webhooks), o Tunnel é muito útil, mas não substitui boas práticas como autenticação forte, backups e atualização do servidor. Ele reduz riscos de exposição direta, mas segurança ainda é um conjunto.
O que é Cloudflare Tunnel e por que usar?
O Cloudflare Tunnel (antigo Argo Tunnel) é um recurso que permite publicar serviços que estão “dentro” da sua rede (máquina local, servidor on-premises ou VPS) na internet sem abrir portas de entrada. Em vez de deixar seu servidor ouvindo diretamente a internet, o cloudflared cria uma conexão segura de saída para a Cloudflare. A Cloudflare passa a ser o “ponto público” e encaminha as requisições por dentro do túnel.
Para iniciantes, vale pensar assim: normalmente, para colocar um site local no ar, você precisaria configurar:
- redirecionamento de portas (port forwarding) no roteador;
- regras de firewall;
- DNS apontando para seu IP público;
- e, muitas vezes, certificados TLS/SSL.
Com o Tunnel, você reduz bastante essa complexidade, porque a conexão é iniciada por você e mantida pelo agente, e o roteamento público fica organizado na Cloudflare.
Principais motivos para usar
1) Segurança e menos exposição
Quando você abre portas no roteador, seu IP fica exposto e pode receber varreduras e tentativas de exploração. No Tunnel, você não precisa abrir essas portas para o mundo — o que já diminui a superfície de ataque.
2) Funciona bem com IP dinâmico
Se sua internet muda de IP com frequência (muito comum em planos residenciais), manter um serviço público pode ser chato. No Tunnel, o agente se conecta à Cloudflare e o endereço público permanece estável no seu domínio.
3) Publicação por subdomínio, com regras claras
Você pode publicar múltiplos serviços: app.seudominio.com → localhost:3000, admin.seudominio.com → localhost:8080, etc. Tudo fica centralizado.
4) Integração com Zero Trust (opcional)
Para sistemas internos, dá para proteger com o Cloudflare Access: exigir login, restringir por e-mail, por grupo, por região, por dispositivo, etc.
Quando o Tunnel é uma boa escolha (e quando não é)
Ele é ótimo para:
- sites pequenos/ médios;
- painéis internos que você quer acessar de qualquer lugar;
- APIs e webhooks (por exemplo, automações que precisam receber eventos);
- ambientes de teste e homologação.
Já se você precisa de altíssima performance com controle fino de rede (ou protocolos específicos/complexos além de HTTP/HTTPS), talvez uma VPS bem configurada com proxy reverso e observabilidade completa faça mais sentido. Ainda assim, para a maioria dos casos de “quero publicar meu site com segurança”, o Cloudflare Tunnel é uma solução muito pragmática.
Como o foco aqui é configuração do Cloudflare Tunnel para sites, nos próximos passos vamos entrar no que você realmente precisa fazer: instalar o cloudflared, autenticar, criar o túnel e mapear o hostname para o seu servidor local.
🤖 Um próximo passo natural: automatizar (e aproveitar melhor) seus túneis e webhooks
Depois que você aprende como configurar Cloudflare Tunnel, é bem comum surgir a próxima pergunta: “ok, agora o que eu coloco para rodar por trás desse subdomínio?”. E é aí que automações e agentes entram com tudo — principalmente para quem quer criar fluxos que recebem webhooks, chamam APIs, registram em planilhas/CRM e respondem em tempo real.
Um caminho que fez bastante sentido pra mim foi a Formação Agentes de IA (n8n) da Hora de Codar, porque ela pega exatamente essa ponte entre infraestrutura simples (domínio, SSL, VPS quando precisa) e a parte prática de construir automações e agentes de IA sem depender de programação.
Alguns pontos que chamam atenção:
- mais de 8.100 alunos;
- 11+ cursos, 221+ aulas e 20h+;
- 21+ projetos para montar portfólio;
- e um foco grande em configuração profissional do n8n e agentes de IA (incluindo RAG, integrações e projetos prontos para aplicar/vender).
Se você quiser dar uma olhada na grade e ver se encaixa no seu momento, o link é:
https://app.horadecodar.com.br/lp/formacao-agentes-de-ia-n8n?utm_source=blog
A sugestão aqui é simples: mesmo que você comece só “brincando” com Tunnel e webhooks, ter um método passo a passo para transformar isso em projetos reais economiza muitas horas de tentativa e erro.
Pré-requisitos e instalação do cloudflared no Windows
Antes de partir para o cloudflared passo a passo, é importante garantir que você tem o básico pronto. Isso evita os erros mais comuns (túnel criado, mas o domínio não responde; DNS ok, mas serviço local fora do ar; etc.).
Pré-requisitos
Para usar Cloudflare Tunnel no Windows, você precisa:
- Um domínio já adicionado à Cloudflare (com os nameservers apontados para ela);
- Acesso à sua conta Cloudflare com permissão para criar Tunnels (idealmente admin);
- Um serviço local rodando: por exemplo, seu site em
http://localhost:3000(Node),http://localhost(IIS/Apache),http://127.0.0.1:8000(Python), etc. - Windows com terminal: PowerShell ou Prompt de Comando (PowerShell facilita a vida).
Também recomendo verificar antes:
- Se o serviço abre localmente no navegador (ex.:
http://localhost:3000abre sem erro); - Se você sabe qual porta ele usa;
- Se o firewall do Windows não está bloqueando o próprio serviço local (às vezes isso atrapalha testes internos).
Instalando o cloudflared no Windows
Existem duas formas bem comuns: baixar o executável ou usar um gerenciador como o winget. A escolha depende do seu conforto.
Opção 1: baixar o executável (mais direto)
- Baixe o
cloudflared.exea partir dos canais oficiais da Cloudflare. - Coloque o arquivo em um caminho fácil, por exemplo
C:\cloudflared\cloudflared.exe. - (Opcional, mas recomendado) Adicione esse caminho ao
PATHdo Windows para poder rodarcloudflaredde qualquer pasta.
Opção 2: winget (se disponível no seu Windows)
Em muitos ambientes, você consegue instalar via winget. O nome do pacote pode variar, então o caminho mais seguro é pesquisar e instalar:
winget search cloudflaredwinget install ...
Validando a instalação
Abra o PowerShell e rode:
cloudflared --version
Se aparecer a versão, você está pronto.
Um detalhe importante: autenticação
Para criar e gerenciar túnel, você precisa vincular o cloudflared à sua conta Cloudflare. Isso é feito com um comando que abre o navegador para login e autoriza o cliente.
A autenticação é um dos pontos onde iniciantes travam porque:
- o browser abre em um perfil errado (sem login na Cloudflare);
- a conta não tem permissão no domínio;
- ou o comando é executado em uma pasta sem permissão de escrita e não consegue salvar as credenciais.
Para evitar isso, rode o PowerShell como usuário normal (ou admin, se seu ambiente exigir) e escolha uma pasta onde você tem permissão total (ex.: sua pasta de usuário) para iniciar o processo.
Com o cloudflared instalado e pronto, no próximo tópico vamos criar o túnel e configurar o arquivo de roteamento que vai ligar seu subdomínio ao serviço local.
Vídeo recomendado no YouTube (para complementar o setup)
Se o seu objetivo com Cloudflare Tunnel é expor webhooks e integrações (um uso muito comum), vale assistir um tutorial de n8n para entender o fluxo completo de “serviço local → endpoint público → automação”. Este vídeo ajuda bastante a enxergar o cenário na prática.
Aprenda n8n em 1 hora – Curso de n8n
Assista aqui e aproveite para pausar e replicar os passos no seu ambiente:
Se você curtir o formato, uma boa ideia é montar um projeto simples no n8n e depois publicar os webhooks com o Tunnel — isso fecha o ciclo e torna os testes bem mais “reais”.
Cloudflared passo a passo: criando e configurando seu túnel
Aqui entra a parte prática de como configurar Cloudflare Tunnel usando o cloudflared passo a passo. A meta é: autenticar o cliente, criar um Tunnel, e dizer para a Cloudflare qual hostname (subdomínio) deve apontar para qual serviço local.
Observação: a Cloudflare tem fluxo por interface (dashboard) e fluxo por CLI. Vou focar no CLI porque ele te dá clareza do que está acontecendo e facilita repetir o setup em outras máquinas.
1) Autentique o cloudflared
No PowerShell:
cloudflared tunnel login
Isso abre o navegador para você autorizar o cloudflared. Depois de confirmar, ele salva um certificado/credencial local que permite criar túneis no seu ambiente.
Se você tiver mais de um domínio na Cloudflare, selecione o domínio correto no momento da autorização.
2) Crie um túnel
Escolha um nome fácil (ex.: meu-site-local):
cloudflared tunnel create meu-site-local
Esse comando cria o Tunnel na sua conta e gera credenciais (um arquivo JSON) para esse túnel. Guarde bem a saída do terminal — ela costuma indicar o ID do túnel.
3) Crie o arquivo de configuração (config.yml)
A forma mais estável de operar é usar um config.yml. Crie uma pasta para isso, por exemplo:
C:\cloudflared\
E crie um arquivo config.yml com a lógica:
- indicar o
tunnel(ID ou nome, dependendo do seu setup) - apontar para o arquivo de
credentials-file - definir
ingress(regras de entrada), que é onde você mapeia hostnames para serviços
Exemplo conceitual (adapte para o seu caso real):
site.seudominio.com→http://localhost:3000- fallback para 404 (boa prática para não “vazar” o resto)
O ponto importante aqui é: o hostname no ingress deve bater exatamente com o DNS/roteamento que você vai criar, e o service deve ser a URL interna que está funcionando na sua máquina.
4) Crie o roteamento do hostname (DNS)
Agora você precisa dizer à Cloudflare que site.seudominio.com vai usar esse Tunnel.
No CLI, normalmente você faz isso com um comando de “route DNS”:
cloudflared tunnel route dns meu-site-local site.seudominio.com
Isso cria/ajusta um registro DNS do tipo CNAME apontando para o endpoint do tunnel (algo como ...cfargotunnel.com).
5) Rode o túnel
Para testar rapidamente:
cloudflared tunnel --config C:\cloudflared\config.yml run
Se estiver tudo certo, o terminal vai mostrar conexões ativas e logs de roteamento.
Dicas para evitar erro logo no início
- Use um subdomínio dedicado (ex.:
site.ouapp.). Evite mexer no domínio raiz no primeiro teste. - Confirme se o serviço local está no ar. Se
localhost:3000não abre localmente, o Tunnel não vai “milagrosamente” funcionar. - Se você usa HTTPS local com certificado próprio, comece com HTTP local e só depois refine.
Quando essa etapa termina, você já tem o túnel criado, o DNS apontando e o cloudflared pronto para encaminhar tráfego. No próximo tópico vamos aplicar isso no cenário mais comum: expor servidor local com Cloudflare com segurança e previsibilidade.
Como expor um servidor local com Cloudflare Tunnel
A forma mais comum de usar o Cloudflare Tunnel é exatamente essa: expor servidor local com Cloudflare para publicar um site que está no seu PC, em um mini PC, em um NAS, ou em qualquer máquina na rede. Vamos construir mentalmente o fluxo para você entender onde cada coisa se encaixa.
Fluxo do tráfego (simplificado)
- A pessoa acessa
https://site.seudominio.comno navegador. - O DNS na Cloudflare aponta esse hostname para o Tunnel.
- A Cloudflare recebe a requisição e encaminha pelo túnel.
- O
cloudflared(rodando localmente) pega a requisição e repassa parahttp://localhost:3000(ou IP interno). - Seu servidor responde, e a resposta volta pelo mesmo caminho.
Ou seja: seu servidor não precisa estar publicamente acessível por IP/porta. Ele só precisa conseguir sair para a internet e manter o túnel ativo.
Cenários práticos de “servidor local”
Você pode apontar o service do ingress para:
http://localhost:3000se o site roda na mesma máquina do cloudflared;http://192.168.0.10:8080se o site roda em outro computador/servidor na rede;http://127.0.0.1:80se for um servidor web local padrão.
O importante é que o cloudflared precisa enxergar esse endereço. Se você apontar para um IP interno, garanta que a máquina onde o cloudflared roda consegue acessar esse IP e porta.
Boas práticas ao publicar um site via Tunnel
- Separe “público” e “interno”: se for um painel administrativo, considere proteger com Cloudflare Access (Zero Trust) e não deixar aberto ao mundo.
- Comece simples: primeiro faça HTTP local funcionando, depois refina cabeçalhos, websockets, cache, etc.
- Defina um fallback: uma regra final retornando 404 ajuda a evitar que hostnames inesperados caiam em algum serviço por engano.
E se você quiser expor webhooks (muito comum)
O Tunnel é excelente para webhooks porque você ganha um endpoint HTTPS estável. Isso é muito útil para automações (por exemplo, quando você está testando integrações no n8n, Zapier-like, ou aplicações que precisam receber callbacks). Em vez de usar ferramentas temporárias, você pode manter um subdomínio fixo.
Nesse cenário, uma atenção extra:
- confirme se o seu serviço suporta o método HTTP (POST/GET) esperado;
- verifique limites e timeouts;
- habilite logs no seu app e no
cloudflaredpara depurar.
Sobre “rodar 24/7”
Se seu objetivo é deixar o site sempre disponível, rodar no seu computador pessoal pode não ser o ideal (queda de energia, reinícios, internet instável). Nesse caso, vale migrar o serviço para uma VPS e ainda usar Cloudflare na frente (com ou sem Tunnel, dependendo da arquitetura).
Mais abaixo eu comento uma opção de VPS que costuma facilitar esse tipo de projeto. Mas, por enquanto, o foco é garantir que seu servidor local esteja acessível via subdomínio e com estabilidade.
Com o servidor exposto, a próxima etapa é testar e resolver os problemas mais frequentes — porque quase sempre aparece um “Error 502”, um DNS que não propagou, ou um serviço local fora do ar. Vamos para a parte de diagnóstico.
💻 Dica de VPS para quando você quiser deixar o Cloudflare Tunnel (ou seu site) rodando 24/7
Configurar Cloudflare Tunnel no Windows é ótimo para aprender e validar a ideia. Mas, se você pretende deixar um site/serviço sempre disponível (sem depender do seu PC ligado), uma VPS costuma ser o próximo passo natural.
Nessa transição, uma opção que facilita bastante é a VPS da Hostinger, especialmente se você também usa n8n ou pretende rodar automações e webhooks com estabilidade. Ela tem planos escaláveis (de projetos pequenos a operações maiores), armazenamento NVMe, boa previsibilidade de performance e 99,9% de uptime.
O link de indicação é:
https://www.hostinger.com.br/horadecodar
E, se você for contratar, dá para usar o cupom HORADECODAR para desconto.
O que eu gosto nessa abordagem é que ela “fecha o triângulo”: você coloca seu serviço (site, n8n, API) em um lugar estável (VPS), mantém o domínio/DNS bem organizado, e decide se usa Cloudflare Tunnel, proxy reverso tradicional, ou uma combinação dos dois conforme o seu caso.
Testes, soluções de problemas e dicas avançadas
Depois de configurar, a parte que mais economiza tempo é ter um checklist de testes e um “mapa” dos erros mais comuns. Abaixo vão estratégias práticas para validar sua configuração do Cloudflare Tunnel e corrigir problemas rapidamente.
Testes essenciais (em ordem)
1) Teste local primeiro
Abra no navegador da própria máquina:
http://localhost:PORTA
Se isso não funcionar, não adianta ajustar Cloudflare ainda.
2) Teste se o túnel está rodando e conectado
Deixe o comando de execução do túnel aberto e observe os logs. Você deve ver mensagens de conexão estabelecida. Se o processo cai, o endpoint vai ficar intermitente.
3) Teste o DNS
Se o hostname não resolve, o problema não é o serviço local, e sim o registro DNS/roteamento do Tunnel. Às vezes é só tempo de propagação.
4) Teste o acesso externo
Abra https://site.seudominio.com no 4G do celular (ou em uma janela anônima) para evitar cache local e resolver diferenças de rede.
Erros comuns e como pensar neles
Erro 502 / 503 (Bad Gateway / Service Unavailable)
Geralmente indica que a Cloudflare conseguiu achar o Tunnel, mas o cloudflared não conseguiu falar com o serviço configurado no ingress.
Causas típicas:
- porta errada (
localhost:3000mas o app está em3001); - app caiu ou não está rodando;
- apontou para
https://localhostquando o serviço só responde emhttp; - firewall local bloqueando.
Hostname abre, mas entrega conteúdo errado
Isso pode acontecer se você tem múltiplas regras e a ordem do ingress não está como você imagina. Regras mais específicas devem vir antes das mais genéricas.
Loop de redirecionamento (too many redirects)
Muito comum quando:
- sua aplicação força HTTPS, mas você configurou algo que “confunde” o esquema;
- headers como
X-Forwarded-Protonão são tratados corretamente.
A correção geralmente é ajustar a aplicação para confiar no proxy (Cloudflare) e interpretar corretamente o protocolo original. Muitas frameworks têm uma flag tipo “trust proxy”.
Dicas avançadas que valem ouro
- Rode como serviço no Windows: para produção, não dependa de um terminal aberto. Configurar o
cloudflaredcomo serviço ajuda a manter o túnel ativo após reiniciar. - Ative logs mais verbosos em debug quando necessário: isso ajuda a enxergar se o problema é DNS, túnel, conexão, ou aplicação.
- WebSockets: se sua aplicação usa WebSockets (apps em tempo real), o Tunnel normalmente suporta bem, mas você precisa garantir que sua app está ok atrás de proxy.
- Proteção de rotas internas: para admin/painel, considere Cloudflare Access (com login) em vez de expor ao público.
No fim, depurar Tunnel costuma ser bem mecânico: ou é DNS, ou é o processo do cloudflared, ou é o serviço local. Se você seguir a ordem de testes, resolve mais rápido.
E uma dica prática: quando você começar a expor serviços que recebem eventos (webhooks), esse tipo de setup vira uma “peça” de automação. Se você usa ferramentas como n8n, o Tunnel pode ser o caminho mais simples para publicar webhooks com HTTPS sem dor de cabeça — e aí faz sentido evoluir o projeto para algo mais robusto (como VPS), para ter disponibilidade real 24/7.
O que é o Cloudflare Tunnel e por que utilizá-lo no meu site?
O Cloudflare Tunnel é uma solução que permite expor sites e aplicações web protegidamente na internet, sem necessidade de abrir portas no firewall. Ele cria uma conexão segura entre o servidor do seu site e a rede global da Cloudflare, protegendo contra ameaças e melhorando o desempenho.
Quais são os pré-requisitos para configurar o Cloudflare Tunnel?
Antes de configurar o Cloudflare Tunnel, você precisa ter uma conta na Cloudflare, seu domínio adicionado e verificado na plataforma, e acesso administrativo ao servidor onde seu site está hospedado. Além disso, é necessário instalar o software Cloudflare Tunnel (cloudflared) no servidor.
Como configurar o Cloudflare Tunnel no meu site passo a passo?
Primeiro, instale o cloudflared no servidor seguindo a documentação oficial. Depois, autentique o cloudflared com sua conta Cloudflare usando o comando ‘cloudflared login’. Em seguida, crie um tunnel com o comando ‘cloudflared tunnel create NOME-DO-TUNNEL’ e configure o serviço e endereço do seu site. Por fim, atualize as configurações de DNS no painel da Cloudflare para apontar para o tunnel criado.
Conclusão
Aprender como configurar Cloudflare Tunnel é uma forma bem eficiente de publicar um site com mais segurança e menos complexidade do que o caminho tradicional de abrir portas e gerenciar tudo manualmente. Com o cloudflared passo a passo, você autentica sua conta, cria um túnel, mapeia um subdomínio e consegue expor servidor local com Cloudflare em minutos — inclusive em Cloudflare Tunnel no Windows, que é um cenário muito comum para quem está começando.
Se algo der errado, quase sempre o problema está em um destes pontos: DNS/hostname, túnel não rodando, ou serviço local fora do ar. Seguindo a ordem de testes e mantendo um config.yml bem organizado, você ganha previsibilidade e consegue evoluir com tranquilidade.
E quando você quiser levar isso para um nível mais “24/7”, considere migrar para uma VPS (para não depender do seu computador) e usar os túneis/webhooks como base para automações — é exatamente o tipo de estrutura que abre portas para projetos com n8n e agentes de IA.
Se você aplicar os passos deste guia, você já sai com um setup funcional e com uma base sólida para expandir seu ambiente com segurança.

