Meta descrição: Aprenda como expor o n8n na VPS com Cloudflare Tunnel sem abrir portas no firewall. Passo a passo seguro, HTTPS e acesso externo em minutos.

Expor o n8n para acesso externo costuma virar um “mini-projeto” por causa de firewall, portas, NAT, certificado SSL e reverse proxy. A boa notícia é que dá para simplificar bastante usando o Cloudflare Tunnel, que cria um túnel seguro de dentro da sua VPS para a Cloudflare, sem precisar liberar portas de entrada no servidor.
Na prática, a sua VPS inicia uma conexão de saída (egress) com a Cloudflare, e a Cloudflare passa a publicar um endereço (seu domínio) que encaminha o tráfego para o n8n. Isso traz três vantagens imediatas para iniciantes:
1) você não precisa abrir 80/443 no firewall (e muitas vezes nem mexer no painel da VPS);
2) você ganha HTTPS com mais facilidade (via Cloudflare);
3) você reduz a superfície de ataque do servidor, porque ele não fica “escutando” conexões diretas da internet.
Neste guia, você vai aprender como expor o n8n na VPS com Cloudflare Tunnel do jeito mais prático possível: desde os pré-requisitos, passando pelo passo a passo de configuração do tunnel e do n8n, até dicas de segurança e resolução de problemas comuns.
Ao final, você deve ter o n8n acessível por uma URL do tipo https://n8n.seudominio.com, funcionando com webhooks, login e execução de workflows, sem ter aberto portas no firewall.
Por que usar Cloudflare Tunnel para expor o n8n na VPS
Quando a ideia é colocar o n8n no ar “do jeito certo”, normalmente você precisa decidir entre: abrir portas (80/443), configurar um reverse proxy (Nginx/Traefik/Caddy), emitir e renovar certificados SSL, e ainda lidar com regras de firewall e bloqueios do provedor. Para quem está começando, é fácil se perder.
O Cloudflare Tunnel entra justamente para reduzir essa complexidade. Em vez de receber tráfego diretamente no IP da sua VPS, você cria um conector (o cloudflared) rodando no servidor que mantém um canal seguro com a Cloudflare. A Cloudflare, por sua vez, publica o seu subdomínio e encaminha o tráfego para o serviço interno (o n8n rodando em localhost, por exemplo).
Benefícios principais (na prática)
- Sem abrir portas no firewall: como a conexão é iniciada de dentro da VPS, você não precisa expor 80/443 ao mundo. Isso é especialmente útil se você quer manter a VPS mais “fechada”.
- HTTPS mais simples: o tráfego do usuário até a Cloudflare já pode ser protegido por TLS. Você evita a dor de cabeça inicial de emitir certificados no servidor (embora ainda exista o tema “TLS até a origem”, que comento em boas práticas).
- Menos exposição do IP: você pode inclusive esconder o IP real da VPS, porque o acesso passa pelo domínio na Cloudflare.
- Regras de segurança da Cloudflare: WAF (dependendo do plano), rate limiting, bloqueio por país, challenge/captcha, etc. Mesmo no básico, você já tem um controle centralizado interessante.
Por que isso combina bem com n8n
O n8n é um orquestrador de automações com uma interface web e com webhooks. Quando você usa o Tunnel, fica mais fácil:
- manter o painel web acessível de qualquer lugar;
- receber webhooks externos (Stripe, WhatsApp, formulários, gateways) com uma URL estável;
- padronizar a URL pública do n8n (essencial para links, callbacks OAuth e integrações).
O resultado é um caminho bem direto para expor serviço na VPS sem abrir portas, mantendo o fluxo de configuração amigável para iniciantes e com uma camada extra de controle na borda (Cloudflare).
🤖 Um próximo passo natural: aprender n8n + Agentes de IA do jeito estruturado
Depois que você aprende a publicar o n8n com segurança (como neste guia com Cloudflare Tunnel), o próximo gargalo costuma ser outro: o que construir no n8n, como organizar fluxos “de verdade” e como usar recursos de IA sem virar uma gambiarra difícil de manter.
Se você quer um caminho mais guiado, a Formação Agentes de IA (n8n) da Hora de Codar é uma opção bem redonda para iniciantes, porque vai do básico ao avançado com bastante mão na massa. O legal é que ela não fica só em teoria: são 221+ aulas, 11+ cursos, 21+ projetos e uma carga de 20h+, além de uma comunidade grande (8100+ alunos) para trocar ideia e tirar dúvidas.
Eu indicaria especialmente se você quer:
- aprender a criar agentes de IA no n8n (memória, ferramentas, integrações);
- montar portfólio com projetos que você pode adaptar para clientes/empresa;
- entender configuração “profissional” (VPS, domínio, segurança) junto com os fluxos.
Se fizer sentido para o seu momento, dá uma olhada com calma aqui (link oficial):
https://app.horadecodar.com.br/lp/formacao-agentes-de-ia-n8n?utm_source=blog
Pré-requisitos e preparação do ambiente
Antes de partir para o passo a passo, vale alinhar os pré-requisitos para evitar os erros mais comuns (principalmente com webhooks e URLs).
1) Uma VPS com n8n rodando
Você precisa ter o n8n funcionando internamente na VPS, mesmo que só em localhost. Pode ser via Docker Compose, instalação direta, ou com um stack já pronto. O importante é: ao rodar um curl http://127.0.0.1:5678 (ou a porta que você usa), o serviço responder.
Se você ainda não instalou o n8n na VPS, a melhor estratégia é primeiro deixar ele estável localmente no servidor (com persistência e variável de ambiente) e só depois publicar com o Tunnel.
2) Um domínio gerenciado na Cloudflare
Você precisa:
- ter um domínio (ou subdomínio) que você controla;
- apontar o DNS do domínio para a Cloudflare (nameservers);
- conseguir criar registros DNS no painel da Cloudflare.
O Tunnel costuma criar registros automaticamente (CNAME) quando você associa um hostname ao tunnel, mas o domínio precisa estar dentro da sua conta Cloudflare.
3) Acesso SSH e permissões
Tenha:
- acesso SSH à VPS;
- um usuário com permissão para instalar pacotes e criar serviços (normalmente
rootou sudo).
4) Planejar a URL pública do n8n
Isso é crucial para não quebrar webhooks e callbacks:
- escolha o subdomínio (ex.:
n8n.seudominio.com); - defina se você vai usar
https(recomendado); - garanta que o n8n vai “saber” qual é a URL pública.
Em geral, você vai configurar variáveis do n8n como:
N8N_HOST=n8n.seudominio.comN8N_PROTOCOL=httpsWEBHOOK_URL=https://n8n.seudominio.com/
Essas variáveis fazem o n8n gerar links e endpoints corretos, especialmente para webhooks.
5) Segurança básica antes de expor
Mesmo com Tunnel, não ignore o básico:
- senha forte (ou melhor: SSO/Access na Cloudflare, se você usar);
- atualizar pacotes do sistema;
- backups do volume/dados do n8n.
A lógica aqui é: o Tunnel é a ponte, mas o serviço ainda é seu. Preparar o ambiente evita que você publique algo “funcionando” e, dias depois, descubra que webhooks não chegam ou que a URL pública está errada.
Vídeo recomendado para complementar (n8n na prática)
Para complementar este guia e te dar uma visão bem prática do ecossistema do n8n (principalmente se você está começando e quer entender como tudo se conecta), recomendo este vídeo do YouTube:
- Aprenda n8n em 1 hora – Curso de n8n
Ele ajuda a amarrar a parte de “infra” (como expor) com a parte mais importante: criar automações úteis de verdade. Depois de colocar seu n8n acessível via Cloudflare Tunnel, assistir esse vídeo costuma acelerar bastante a curva de aprendizado.
CTA: assista aqui e já vá testando os exemplos no seu n8n publicado:
Passo a passo: configurando o n8n com Cloudflare Tunnel
A seguir vai um fluxo de configuração bem comum para iniciantes: n8n rodando internamente na VPS (porta 5678) e Cloudflare Tunnel publicando o acesso em https://n8n.seudominio.com.
Observação: os nomes e caminhos variam um pouco conforme distro (Ubuntu/Debian), método de instalação e se você usa Docker. A ideia aqui é manter um roteiro confiável e fácil de adaptar.
1) Garanta que o n8n está acessível localmente
Na VPS, teste:
- se o n8n está em pé e ouvindo na porta correta;
- se responde em loopback.
Exemplo (porta padrão):
curl -I http://127.0.0.1:5678
Se você usa Docker, confirme que a porta está publicada apenas para localhost (opcional, mas bom para segurança), ou que o container está na mesma rede que o cloudflared vai acessar.
2) Instale e autentique o cloudflared
O cloudflared é o agente do Tunnel.
- Instale o
cloudflaredna VPS (via pacote oficial ou binário, conforme sua distro). - Faça login para autorizar sua conta Cloudflare.
Depois de autenticar, você terá permissão para criar um Tunnel associado ao seu domínio.
3) Crie um Tunnel e associe um hostname
No painel (ou via CLI), você vai:
- criar o tunnel (ex.:
n8n-tunnel); - escolher o hostname público (ex.:
n8n.seudominio.com); - definir o serviço de origem (origin) como
http://localhost:5678.
A Cloudflare normalmente cria/ajusta o DNS do subdomínio para apontar para o tunnel (em vez do IP).
4) Configure o arquivo do Tunnel (config.yml)
O ponto-chave é mapear o hostname público para o serviço interno.
Um exemplo conceitual de roteamento:
n8n.seudominio.com->http://localhost:5678
E um fallback (caso chegue tráfego para algo que não existe) para evitar exposição acidental.
5) Rode o cloudflared como serviço
Você quer que o tunnel suba com o servidor, então configure o cloudflared para rodar como service (systemd). Assim, se a VPS reiniciar, o acesso continua.
6) Ajuste as variáveis do n8n para URL pública
Essa etapa resolve 80% dos “mistérios” de webhook.
No seu docker-compose.yml (ou no serviço), configure:
N8N_HOST=n8n.seudominio.comN8N_PROTOCOL=httpsWEBHOOK_URL=https://n8n.seudominio.com/
Se você usa recursos avançados (OAuth, callbacks), essa URL precisa estar 100% alinhada.
7) Teste completo
Faça um teste em três camadas:
- Acesso ao painel: abrir
https://n8n.seudominio.comno navegador. - Login/Criação de credenciais: garantir que sessões e cookies funcionam.
- Webhook: criar um workflow com trigger de webhook e chamar a URL externa.
Se o painel abre mas webhooks não chegam, quase sempre é WEBHOOK_URL incorreta, mismatch de protocolo (http/https) ou regra de segurança na Cloudflare.
8) (Opcional) Proteja o painel com Cloudflare Access
Uma prática excelente é colocar uma camada de login na borda. Assim, mesmo que alguém descubra seu subdomínio, ainda precisa passar por uma autenticação (Google, GitHub, e-mail OTP, etc.).
Isso é especialmente útil quando o n8n é interno (só você/um time pequeno acessa), mas recebe webhooks públicos. Dá para proteger o / e liberar apenas caminhos específicos de webhook, se você organizar bem as rotas.
Com isso, você consegue configurar n8n com Cloudflare Tunnel de forma limpa: URL estável, HTTPS e sem abrir portas no firewall — que é exatamente o objetivo deste guia.
Dicas de segurança e boas práticas ao expor serviços na VPS
Mesmo usando Cloudflare Tunnel sem abrir portas no firewall, ainda vale pensar em segurança como um conjunto de camadas. O Tunnel reduz a exposição do servidor, mas não elimina riscos como senha fraca, credenciais vazadas, automações mal configuradas ou endpoints públicos sem proteção.
1) Trate o n8n como aplicação “de produção”
Algumas ações simples ajudam muito:
- mantenha o n8n atualizado (versões novas corrigem falhas e bugs);
- use banco/volume persistente e faça backup periódico;
- evite rodar tudo como root; prefira containers e permissões mínimas.
2) Defina corretamente a URL pública (WEBHOOK_URL)
Isso é “boa prática” e também segurança: quando a URL pública está correta, você evita redirecionamentos estranhos e reduz falhas que podem vazar informações em logs e callbacks. Além disso, integrações OAuth dependem disso para funcionar.
3) Separe “acesso ao painel” de “webhooks públicos”
O cenário mais comum é:
- painel do n8n: só você/time acessa;
- webhooks: o mundo externo precisa chamar (Stripe, Typeform, etc.).
Se você puder, proteja o painel com Cloudflare Access e mantenha webhooks com URLs difíceis de adivinhar e/ou com validação (token no header, assinatura do provedor, validação de payload).
4) Limite o que o seu n8n pode fazer
Muita gente expõe o n8n e esquece que ele é uma ferramenta poderosa.
- evite credenciais com permissões amplas (ex.: um token que dá acesso total ao Google Drive); prefira escopos mínimos;
- não salve segredos em texto puro em nodes quando existe a opção de Credentials;
- cuidado com nodes que executam comandos/requests genéricos sem validação.
5) Logs e monitoramento
Quando algo dá errado, logs são ouro. Configure:
- logs do container/serviço do n8n;
- logs do
cloudflared; - alertas básicos de disponibilidade (mesmo que seja um ping periódico).
6) VPS “enxuta” e atualizada
Mesmo que você não abra portas, a VPS ainda precisa estar saudável:
- atualizações de segurança do sistema;
- SSH com chave e sem senha (quando possível);
- fail2ban pode continuar fazendo sentido para SSH.
A ideia é simples: expor serviço na VPS sem abrir portas é um excelente começo, mas o resultado fica realmente profissional quando você soma isso com URL pública correta, controle de acesso e boas práticas de credenciais.
💻 VPS para n8n: por que eu gosto da Hostinger para esse tipo de setup
Para rodar n8n com estabilidade (e expor via Cloudflare Tunnel sem dor de cabeça), uma VPS confiável faz diferença — principalmente quando seus workflows começam a rodar o dia inteiro.
A VPS da Hostinger é uma opção que costuma encaixar bem para n8n porque já dá para começar rápido, com boa performance (armazenamento NVMe), escalabilidade e um painel que ajuda quem não quer viver no terminal. Outra vantagem prática é poder subir sua automação com mais previsibilidade e contar com suporte 24/7.
Se você estiver escolhendo onde hospedar, aqui está o link de indicação da Hostinger:
- https://www.hostinger.com.br/horadecodar
E se for contratar, use o cupom HORADECODAR para ganhar desconto.
Sobre planos, para projetos pequenos/médios, muita gente começa bem com o KVM 2 (2 vCPU, 8 GB RAM, 100 GB NVMe), e depois ajusta conforme o volume de execuções e filas cresce.
Solução de problemas comuns e perguntas frequentes
Esta seção reúne os problemas que mais aparecem quando alguém tenta como expor o n8n na VPS com Cloudflare Tunnel pela primeira vez.
O painel abre, mas os webhooks não funcionam. Por quê?
Quase sempre é configuração de URL pública.
- Verifique
WEBHOOK_URLapontando parahttps://n8n.seudominio.com/. - Confirme
N8N_PROTOCOL=httpseN8N_HOSTcom o subdomínio correto. - Recrie o webhook (algumas mudanças exigem reativar o workflow para atualizar a URL exibida).
Está dando redirect loop ou erro de “Too many redirects”
Isso costuma acontecer quando:
- o n8n acha que está em
http, mas o usuário acessahttps(ou vice-versa); - há conflito entre configurações de proxy/headers.
Garanta alinhamento: Cloudflare publica em HTTPS e o n8n está configurado para entender que o público chega em HTTPS.
Erro 502/504 (Bad Gateway / Gateway Timeout)
Indica que a Cloudflare não conseguiu alcançar o origin.
Checklist:
- o n8n está rodando na porta/host esperado (ex.:
localhost:5678)? - o
cloudflaredestá rodando como serviço e conectado? - o origin no tunnel está apontando para o endereço certo?
Preciso abrir alguma porta na VPS?
Para o Tunnel, não é necessário abrir 80/443 para entrada. Porém:
- você ainda precisa de SSH (porta 22 ou outra) para administrar;
- o servidor precisa sair para a internet (conexões de saída) para manter o tunnel conectado.
Cloudflare Tunnel é seguro o suficiente para produção?
Em geral, sim, e é usado amplamente. O que costuma “quebrar” segurança em produção não é o tunnel em si, e sim:
- painel exposto sem autenticação extra;
- credenciais fracas;
- workflows que aceitam input sem validação;
- tokens e chaves com permissões excessivas.
Posso usar Cloudflare Access com n8n?
Pode — e normalmente é uma das melhores combinações para proteger o painel. Só tome cuidado para não bloquear webhooks que precisam ser públicos. Em muitos projetos, a abordagem é:
- proteger o painel;
- manter webhooks com validação de assinatura/token.
“Não tenho domínio, dá para fazer mesmo assim?”
O Tunnel fica bem mais simples com domínio na Cloudflare. Até existem alternativas (como usar um domínio temporário ou outro tipo de proxy), mas para um setup confiável e profissional, vale adquirir/usar um domínio próprio.
Se depois desse checklist ainda não funcionar, a recomendação é olhar os logs do cloudflared e do n8n. Eles normalmente apontam com clareza se o problema é rede/origin, URL pública, ou bloqueio/regra no lado da Cloudflare.
O que é necessário para expor o n8n na VPS usando o Cloudflare Tunnel?
Você vai precisar de uma VPS com o n8n instalado, uma conta no Cloudflare com um domínio adicionado e configurado, além do acesso SSH à sua VPS para instalar e configurar o Cloudflare Tunnel.
Por que o Cloudflare Tunnel permite expor o n8n sem abrir portas no firewall?
O Cloudflare Tunnel cria uma conexão segura de saída entre a sua VPS e a infraestrutura da Cloudflare, eliminando a necessidade de abrir portas no firewall local. Assim, todo o tráfego passa pelo Cloudflare, que encaminha as requisições para o n8n de forma segura.
O acesso ao n8n será seguro (HTTPS) usando o Cloudflare Tunnel?
Sim. O Cloudflare Tunnel utiliza HTTPS automaticamente para proteger a comunicação entre seus usuários e o n8n, garantindo criptografia de ponta-a-ponta sem configuração manual de certificados SSL na VPS.
Conclusão
Aprender como expor o n8n na VPS com Cloudflare Tunnel é uma das formas mais simples (e seguras) de colocar suas automações no ar sem entrar no ciclo de abrir portas, configurar reverse proxy e brigar com SSL logo de cara. Com o Tunnel, sua VPS faz apenas conexões de saída, a Cloudflare publica seu domínio com HTTPS, e você mantém o servidor bem menos exposto.
Se você seguir a lógica do guia — garantir o n8n funcionando localmente, criar o tunnel apontando para localhost:5678 e ajustar N8N_HOST, N8N_PROTOCOL e WEBHOOK_URL — você resolve a maior parte dos problemas comuns, principalmente com webhooks.
A partir daí, o que diferencia um setup “ok” de um setup realmente profissional é caprichar nas camadas: proteger o painel (Cloudflare Access ajuda muito), cuidar de credenciais e permissões, manter atualizações e backups, e monitorar logs.
Com isso, você consegue configurar n8n com Cloudflare Tunnel com confiança e ter um ambiente pronto para crescer — seja para projetos pessoais, freelas ou automações rodando 24/7 em produção.

