
cloudflared v2026.8.1
Cliente para Cloudflare Tunnel que permite conexões seguras apenas de saída para origens via arquitetura Zero Trust. Suporta tráfego HTTP, WebSocket, SSH e RDP sem alterações no firewall, fornecendo controle de acesso e autenticação.
Cliente do Cloudflare Tunnel
Contém o cliente de linha de comando do Cloudflare Tunnel, um daemon de tunelamento que faz proxy do tráfego da rede Cloudflare para as suas origens.
Este daemon fica entre a rede Cloudflare e a sua origem (por exemplo, um servidor web). A Cloudflare atrai as solicitações dos clientes e as envia para você
por meio deste daemon, sem exigir que você abra buracos no seu firewall --- a sua origem pode permanecer o mais fechada possível.
Uma documentação extensa pode ser encontrada na seção Cloudflare Tunnel da documentação da Cloudflare.
Todos os usos relacionados ao proxy para as suas origens estão disponíveis em cloudflared tunnel help.
Você também pode usar o cloudflared para acessar origens de Tunnel (que são protegidas com cloudflared tunnel) para tráfego TCP
na Camada 4 (ou seja, não HTTP/websocket), o que é relevante para casos de uso como SSH, RDP, etc.
Tais usos estão disponíveis em cloudflared access help.
Você pode, alternativamente, usar o cliente WARP
para acessar origens privadas atrás de Tunnels para tráfego de Camada 4 sem exigir comandos cloudflared access no lado do cliente.
Antes de começar
Antes de usar o Cloudflare Tunnel, você precisará concluir algumas etapas no painel da Cloudflare: você precisa adicionar um site à sua conta Cloudflare. Observe que hoje é possível usar o Tunnel sem um site (por exemplo, para roteamento privado), mas por razões legadas esse requisito ainda é necessário:
Instalando o cloudflared
Os downloads estão disponíveis como binários autônomos, uma imagem Docker e pacotes Debian, RPM e Homebrew. Você também pode encontrar as versões aqui no repositório GitHub do cloudflared.
- Você pode instalar no macOS via Homebrew ou baixando a versão mais recente para Darwin amd64
- Binários e pacotes Debian e RPM para Linux podem ser encontrados aqui
- Uma imagem Docker do
cloudflaredestá disponível no DockerHub - Você pode instalar em máquinas Windows com os passos aqui
- Para compilar a partir do código-fonte, instale a versão necessária do go, mencionada na seção Desenvolvimento abaixo. Depois você pode executar
make cloudflared.
A documentação do usuário para o Cloudflare Tunnel pode ser encontrada em https://developers.cloudflare.com/cloudflare-one/networks/connectors/cloudflare-tunnel/
Criando Tunnels e roteando tráfego
Uma vez instalado, você pode autenticar o cloudflared na sua conta Cloudflare e começar a criar Tunnels para servir tráfego às suas origens.
- Crie um Tunnel com estas instruções
- Roteie o tráfego para esse Tunnel:
- Via registros DNS públicos na Cloudflare
- Ou via um hostname público guiado por um Cloudflare Load Balancer
- Ou a partir do tráfego privado do cliente WARP
TryCloudflare
Quer testar o Cloudflare Tunnel antes de adicionar um site ao Cloudflare? Você pode fazer isso com o TryCloudflare usando a documentação disponível aqui.
Breaking Changes
A remoção de flags de CLI, variáveis de ambiente, chaves de configuração ou comandos é uma breaking change. Tais remoções devem ser anunciadas no changelog do Cloudflare Tunnel antes da versão que as remove.
Versões obsoletas
Atualmente, o Cloudflare oferece suporte a versões do cloudflared que estejam dentro de um ano da versão mais recente. Podem ser introduzidas breaking changes não relacionadas à disponibilidade de recursos que afetarão versões lançadas há mais de um ano. Você pode ler mais sobre como atualizar o cloudflared na nossa documentação para desenvolvedores.
Por exemplo, a partir de janeiro de 2023, o Cloudflare dará suporte à versão 2023.1.1 até a versão 2022.1.1 do cloudflared.
Desenvolvimento
Requisitos
- GNU Make
- capnp
- go >= 1.27.3
- Ferramentas opcionais:
Atualizando o Go
A diretiva go no go.mod deve especificar a versão completa major.minor.patch
(por exemplo, go 1.27.3). Não omita a versão de patch, incluindo lançamentos .0.
Esta é a versão exata do Go usada para compilar e testar o cloudflared: o Makefile exporta
GOTOOLCHAIN=go<version> a partir dela, então o make baixa esse toolchain sempre que o
Go instalado for mais antigo ou mais novo. As ferramentas que o make executa com go run pkg@version também
usam esse toolchain. Uma diretiva toolchain no go.mod é ignorada; não adicione uma.
Para usar o Go instalado, execute make <target> GOTOOLCHAIN=local.
Ao atualizar o Go, atualize a diretiva go e todas as referências de versão correspondentes
em .gitlab-ci.yml, .ci/image/Dockerfile, .github/workflows/check.yaml e nos
Dockerfiles. Atualize a imagem do builder de CI Linux e o digest em .ci/linux.gitlab-ci.yml
para corresponder; seu golangVersion seleciona a família de imagens major/minor. No macOS e
no Windows, uma incompatibilidade custa apenas o download de um toolchain. Builds que usam GOTOOLCHAIN=local
falham se o Go delas for mais antigo que o go.mod e usam o próprio Go se for mais novo.
Build
Para compilar o cloudflared localmente, execute make cloudflared
Testes
Para executar os testes localmente, execute make test
Linting
Para formatar o código e manter uma boa qualidade de código, use make fmt e make lint
Mocks
Após alterações em interfaces, você pode precisar regenerar os mocks, então execute make mocks
Git Hooks
Para evitar erros de CI, você pode instalar hooks de pre-push que executam linting e testes antes de cada push:
make install-hooks
Isso configurará o git para usar os hooks em .githooks/ que executam make fmt-check lint test antes de cada push.