Título: Como instalar SSL wildcard na VPS com Cloudflare DNS
Meta descrição: Aprenda passo a passo como instalar SSL wildcard na VPS com Cloudflare DNS, usando DNS-01 e Let’s Encrypt para segurança e HTTPS em múltiplos subdomínios.
Palavra-chave principal: como instalar SSL wildcard na VPS com Cloudflare DNS
Palavras-chave secundárias: certbot Cloudflare DNS-01 wildcard, instalar certificado wildcard no Nginx, token API Cloudflare para Let’s Encrypt

Ter HTTPS hoje não é “extra”: é o básico para evitar alertas de segurança no navegador, proteger credenciais e garantir integridade do tráfego. Quando você tem vários subdomínios (por exemplo, app.seudominio.com, api.seudominio.com, n8n.seudominio.com e muitos outros), um certificado wildcard simplifica tudo: você emite um único certificado que cobre *.seudominio.com e mantém a gestão bem mais tranquila.
Neste guia você vai aprender, de forma bem prática, como instalar SSL wildcard na VPS com Cloudflare DNS, usando o desafio DNS-01 do Let’s Encrypt. Esse método é o mais indicado para wildcard porque o Let’s Encrypt não emite wildcard via HTTP-01 (aquele que cria arquivo na pasta do site). Em vez disso, a validação é feita criando um registro TXT no DNS, e é aí que o Cloudflare brilha: dá para automatizar a criação desse registro com um token de API.
A ideia geral do processo é:
- Você prepara o domínio na Cloudflare e aponta o DNS para a sua VPS;
- Instala o Certbot e o plugin de Cloudflare;
- Cria um token de API com permissões mínimas;
- Emite o certificado wildcard (DNS-01);
- Configura o Nginx para usar os arquivos do certificado;
- Deixa a renovação automática funcionando para não ter dor de cabeça depois.
Ao longo do tutorial, vou trazer detalhes importantes para iniciantes (como o que significa “modo proxy/laranja” no Cloudflare e por que isso pode confundir no começo) e também boas práticas de segurança (permissões do token, proteção do arquivo de credenciais e testes antes de reiniciar serviços).
Se você hospeda ferramentas como n8n na VPS (algo bem comum quando você começa a automatizar processos), esse setup com wildcard + Nginx fica ainda mais prático: você cria subdomínios para cada app sem precisar emitir certificado novo a cada vez.
Entendendo o que é SSL wildcard e por que usar com Cloudflare DNS
Um certificado SSL “normal” (também chamado de certificado de domínio único) cobre apenas um host, como site.com ou app.site.com. Já um SSL wildcard cobre todos os subdomínios de um nível, usando um asterisco: *.site.com. Na prática, isso significa que o mesmo certificado vale para n8n.site.com, api.site.com, painel.site.com e qualquer outro subdomínio que você criar depois.
Para quem está começando, a maior vantagem é a simplicidade: você não precisa “ficar lembrando” de emitir certificado toda vez que surge um subdomínio novo. Além disso, em projetos que crescem rápido (como quando você sobe um Nginx como reverse proxy e começa a publicar múltiplos serviços na mesma VPS), o wildcard economiza tempo e reduz risco de esquecer algum endpoint sem HTTPS.
Agora vem a parte importante: como emitir esse wildcard com o Let’s Encrypt. Para validar que você é dono do domínio, o Let’s Encrypt usa desafios (“challenges”). Os mais comuns são:
- HTTP-01: o servidor precisa responder um arquivo específico em
http://seudominio/.well-known/.... - DNS-01: você cria um registro TXT no DNS provando controle do domínio.
Wildcards exigem DNS-01. E é aí que o Cloudflare ajuda muito, porque:
1) Você gerencia o DNS com uma interface simples (ou via API).
2) Dá para automatizar a validação via Certbot, sem criar TXT “na mão” toda vez.
3) Você pode gerar tokens com permissões mínimas, mais seguros do que usar a “API Global Key”.
Um detalhe que confunde iniciantes: o Cloudflare tem o modo Proxy (nuvem laranja) e o modo DNS only (nuvem cinza). Para emissão via DNS-01, em geral isso não atrapalha, porque o desafio é no DNS. Mas para seus serviços em si (Nginx, n8n, APIs), é bom entender que o proxy do Cloudflare “fica na frente” do seu servidor e pode mudar a forma como você enxerga IP real, regras de firewall e logs.
No fim, combinar certbot Cloudflare DNS-01 wildcard costuma ser o caminho mais limpo para ter HTTPS de forma profissional em uma VPS, principalmente quando você quer crescer com subdomínios sem virar refém de configuração manual.
🤖 Uma sugestão útil se você quer usar a VPS para automações (n8n + agentes de IA)
Depois que você organiza a base de infraestrutura (domínio, Nginx e SSL wildcard), fica bem natural dar o próximo passo: colocar automações para rodar 24/7 na sua VPS — e aí o n8n vira uma peça central.
Se você quer aprender isso com um caminho bem guiado (principalmente se estiver começando), a Formação Agentes de IA (n8n) da Hora de Codar é uma recomendação honesta. Ela vai do básico do n8n até projetos com agentes de IA, integrações e uma configuração mais profissional (incluindo domínio e SSL), com uma pegada bem “mão na massa”. São 11+ cursos, 221+ aulas e 21+ projetos, com 20h+ de conteúdo e uma base grande de alunos (8100+), o que ajuda bastante quando você travar em algum detalhe.
Se quiser dar uma olhada na grade e ver se encaixa no que você está buscando, aqui está o link: https://app.horadecodar.com.br/lp/formacao-agentes-de-ia-n8n?utm_source=blog
Pré-requisitos e configurações iniciais para VPS e Cloudflare
Antes de emitir o certificado, vale alinhar os pré-requisitos. Essa etapa é a que evita 80% dos erros típicos (como “NXDOMAIN”, validação que não encontra o TXT ou Nginx apontando para domínio errado).
1) Domínio e zona no Cloudflare
Você precisa ter seu domínio adicionado no Cloudflare como uma “zone” (zona DNS) e ter trocado os nameservers no registrador (Registro.br, GoDaddy, etc.) para os nameservers do Cloudflare. Sem isso, o Cloudflare não controla seu DNS e o desafio DNS-01 não vai funcionar como esperado.
2) Registros DNS apontando para a VPS
No painel do Cloudflare, crie pelo menos:
- Um registro A para o domínio raiz (
@) apontando para o IP da sua VPS. - Um registro A para o subdomínio que você pretende usar (por exemplo
n8n) apontando para o mesmo IP.
Você pode também criar um CNAME do www para @, se fizer sentido no seu cenário.
Se você pretende usar wildcard de verdade (muitos subdomínios), uma boa prática é criar um registro A para * (asterisco) apontando para o IP da VPS. Isso não é obrigatório para emitir o certificado (porque a validação é por TXT), mas facilita para que qualquer subdomínio que você inventar já resolva para o servidor.
3) VPS preparada (pacotes e portas)
Na VPS, garanta:
- Sistema atualizado;
- Porta 80 e 443 liberadas (no firewall da VPS e no firewall do provedor, se houver);
- Um servidor web instalado (Nginx, no nosso caso) ou pronto para ser instalado.
Mesmo que o desafio seja DNS-01, abrir 80/443 é essencial para você servir seu app em HTTPS no final.
4) Hora e DNS do servidor
Certificados dependem de tempo correto. Confira se o relógio da VPS está sincronizado (geralmente via systemd-timesyncd/NTP). Também vale validar resolução DNS do servidor.
5) Conferindo se o DNS já propagou
Antes de mexer com Certbot, verifique se n8n.seudominio.com resolve para o IP correto. Propagação do Cloudflare costuma ser rápida, mas não confie “no olho”. Se o DNS ainda não está certo, a emissão e a configuração do Nginx viram tentativa e erro.
Com esses pontos ajustados, a emissão do SSL wildcard fica previsível. A partir daqui, o coração do processo passa a ser o token API Cloudflare para Let’s Encrypt, porque é ele que permite o Certbot criar/remover o registro TXT automaticamente durante a validação.
Vídeo recomendado: instalação do n8n na VPS (bom para testar seu SSL em um subdomínio)
Depois que você aprende como instalar SSL wildcard na VPS com Cloudflare DNS, um ótimo “teste prático” é publicar um serviço real em subdomínio e validar o HTTPS no navegador. Um exemplo perfeito é o n8n.
Este vídeo mostra um passo a passo rápido para colocar o n8n no ar em uma VPS. Assim, você consegue criar algo como n8n.seudominio.com, configurar o Nginx como reverse proxy e ver seu certificado wildcard funcionando na prática.
Assista aqui:
Se fizer sentido, abra o vídeo em outra aba e vá acompanhando enquanto aplica o SSL no seu subdomínio: isso costuma acelerar muito o aprendizado.
Como obter o token API Cloudflare para uso com Let’s Encrypt
Para automatizar o desafio DNS-01, o Certbot precisa autenticar na API do Cloudflare e criar um registro TXT do tipo _acme-challenge. O caminho mais seguro é usar API Token (e não a Global API Key), porque você controla escopo e permissões.
Passo a passo no Cloudflare
1) Acesse o painel do Cloudflare e vá em My Profile (ou Perfil) > API Tokens.
2) Clique em Create Token.
3) Você pode usar um template (quando disponível) como “Edit zone DNS” ou criar um token customizado.
O que você precisa é algo nesse espírito:
- Permissions:
Zone→DNS→Edit - Zone Resources:
Include→Specific zone→ selecione seu domínio
Isso dá permissão para criar/remover registros DNS apenas naquela zona, que é exatamente o que o Certbot precisa.
Onde esse token será usado
No servidor, você vai salvar esse token em um arquivo de credenciais, usado pelo plugin do Cloudflare. Exemplo de caminho comum:
/root/.secrets/certbot/cloudflare.ini
Dentro dele, você coloca algo como:
dns_cloudflare_api_token = SEU_TOKEN_AQUI
E um cuidado indispensável: restrinja as permissões do arquivo. Esse token dá poder de editar DNS; se vazar, alguém pode sequestrar seu domínio.
Na prática, você vai fazer algo equivalente a:
- Criar a pasta
~/.secrets/certbot - Criar o arquivo
cloudflare.ini - Ajustar permissão para que só o root leia (por exemplo,
chmod 600)
Dica para não se perder: token vs. key
Muita gente confunde:
- Global API Key: antiga, poderosa, não recomendada.
- API Token: moderno, com permissão limitada, recomendado.
Para o seu objetivo (token API Cloudflare para Let’s Encrypt), vá de API Token.
Teste mental rápido: o que pode dar errado aqui?
Se você criar o token com permissão só de leitura (Read), o Certbot vai falhar porque ele precisa escrever no DNS. Se você deixar “All zones”, funciona, mas aumenta o risco. O equilíbrio ideal é DNS Edit e somente a zona do seu domínio.
Com o token em mãos e protegido no servidor, você está pronto para emitir o wildcard com o Certbot usando DNS-01 de forma automatizada.
Passo a passo: Instalando o Certbot e emitindo SSL wildcard com DNS-01
Aqui é a parte mão na massa: instalar o Certbot, habilitar o plugin do Cloudflare e emitir o certificado wildcard. Vou descrever de forma genérica (Ubuntu/Debian, que é o mais comum em VPS), mas a ideia é semelhante em outras distros.
1) Instale o Certbot e o plugin do Cloudflare
Em Ubuntu/Debian, você costuma conseguir via repositório. Em alguns casos, a versão do snap também é bem usada. O importante é ter o plugin dns-cloudflare disponível.
Depois de instalar, confirme que o plugin aparece na lista de plugins DNS do Certbot. Isso evita descobrir só no final que está faltando dependência.
2) Crie o arquivo de credenciais do Cloudflare
Crie a pasta e o arquivo, e coloque o token:
- Caminho sugerido:
/root/.secrets/certbot/cloudflare.ini - Conteúdo:
dns_cloudflare_api_token = SEU_TOKEN - Permissão: apenas root pode ler
Esse passo é o “coração” do certbot Cloudflare DNS-01 wildcard.
3) Emita o certificado wildcard
Agora você pede um certificado para:
- o domínio raiz
seudominio.com - e o wildcard
*.seudominio.com
Isso é importante porque, sem incluir o domínio raiz explicitamente, o wildcard não cobre o “apex” (seudominio.com). Então, em geral, você emite os dois juntos.
O comando do Certbot vai usar o plugin do Cloudflare e o arquivo de credenciais. Também é comum definir um “propagation seconds” (tempo de espera) caso o DNS demore um pouco para propagar o TXT.
Ao final, o Let’s Encrypt entrega arquivos em algo como:
/etc/letsencrypt/live/seudominio.com/fullchain.pem/etc/letsencrypt/live/seudominio.com/privkey.pem
4) Teste a renovação (muito recomendado)
O certificado do Let’s Encrypt expira a cada 90 dias. O Certbot normalmente cria um timer/cron de renovação automática, mas é inteligente testar logo:
- Rode um “dry-run” de renovação para validar que o plugin e o token estão funcionando.
Se passar, você praticamente “zerou” a manutenção.
5) Um cuidado sobre permissões e backups
Nunca copie privkey.pem para lugares desnecessários. Em vez disso, aponte o Nginx diretamente para os caminhos em /etc/letsencrypt/live/... e cuide das permissões. Se você precisa de backup, faça com critério e cifrado.
Com isso pronto, o certificado já existe no servidor. O próximo passo é fazer o Nginx servir seus domínios com HTTPS e, se quiser, redirecionar HTTP → HTTPS.
💻 Onde hospedar: VPS da Hostinger para rodar Nginx, n8n e SSL com tranquilidade
Se a sua meta é ter uma VPS para rodar Nginx como reverse proxy, emitir certificados com Certbot e ainda hospedar serviços (como n8n) em subdomínios, uma opção que costuma facilitar bastante é a VPS da Hostinger.
O que eu gosto nela para esse cenário é que você consegue começar pequeno e crescer sem trocar de ambiente: tem planos com NVMe, boa oferta de recursos e 99,9% de uptime, além de 30 dias de garantia. E, para quem quer usar n8n, eles já oferecem o n8n pré-instalado, o que poupa um tempo bom.
Se quiser conferir os planos por lá, use este link de indicação: https://www.hostinger.com.br/horadecodar
E na hora de contratar, dá para aplicar o cupom HORADECODAR para ajudar no desconto.
Configurando o certificado wildcard no Nginx e solucionando problemas comuns
Com o certificado emitido, o objetivo agora é: (1) configurar o Nginx para usar o SSL wildcard, (2) garantir redirecionamento para HTTPS e (3) resolver os erros mais comuns sem desespero.
1) Configuração básica no Nginx
Em geral, você terá um server na porta 80 (HTTP) e outro na 443 (HTTPS).
- No HTTP, você pode manter apenas um redirecionamento para HTTPS.
- No HTTPS, você informa os caminhos do
fullchain.peme doprivkey.pem.
Quando você quer instalar certificado wildcard no Nginx, o ponto-chave é usar um server_name que contemple seus subdomínios, por exemplo:
server_name seudominio.com *.seudominio.com;
E então apontar para:
ssl_certificate /etc/letsencrypt/live/seudominio.com/fullchain.pem;ssl_certificate_key /etc/letsencrypt/live/seudominio.com/privkey.pem;
Depois, valide a sintaxe e recarregue o serviço. É uma etapa simples, mas essencial: um pequeno erro de digitação pode derrubar o Nginx.
2) Reverse proxy (exemplo comum com n8n)
Muita gente está fazendo isso para publicar ferramentas como n8n.seudominio.com. Nesse caso, dentro do bloco HTTPS você inclui as diretivas de proxy para o serviço rodando localmente (ex.: localhost:5678). A vantagem do wildcard é que amanhã você sobe outro app em app.seudominio.com e reaproveita o mesmo certificado.
3) Problemas comuns (e como pensar neles)
A maioria dos problemas cai em uma destas categorias:
1) Certbot renova, mas Nginx não “pega” o novo certificado
Normalmente é porque o Nginx não foi recarregado após a renovação. O Certbot costuma cuidar disso com hooks em muitos setups, mas vale conferir.
2) Erro de permissão ao ler privkey.pem
O processo do Nginx precisa conseguir ler o arquivo. Em instalações padrão, isso costuma funcionar, mas se você endureceu permissões, pode precisar revisar grupo/permissões.
3) O domínio abre com certificado “errado”
Quase sempre é ordem de server blocks e server_name. Se existir um “default_server” na 443, ele pode estar atendendo seu domínio com outro certificado.
4) Loop de redirecionamento com Cloudflare
Se o Cloudflare estiver em modo “Flexible SSL”, você pode entrar em loop (Cloudflare fala HTTP com a origem e você força HTTPS). Em geral, para VPS com Nginx e certificado válido, prefira “Full (strict)”.
5) Validação DNS-01 falha intermitente
Geralmente é tempo de propagação ou token sem permissão de edição DNS. Aumentar o tempo de espera e checar o escopo do token costuma resolver.
Se você fizer essa configuração com calma, você sai com um setup bem profissional: HTTPS válido para todos os subdomínios, renovação automática e uma base sólida para hospedar serviços na VPS com segurança.
O que é um SSL wildcard e por que usá-lo na VPS com Cloudflare DNS?
Um SSL wildcard é um certificado SSL que protege um domínio principal e todos os seus subdomínios (por exemplo, *.seusite.com). Usar SSL wildcard na VPS com Cloudflare DNS garante que todos os subdomínios estejam protegidos com HTTPS, facilitando a administração e aumentando a segurança do ambiente.
Como instalar SSL wildcard na VPS usando Cloudflare DNS e Let’s Encrypt?
Para instalar um SSL wildcard na sua VPS com Cloudflare DNS, você deve usar o método de validação DNS-01, criando registros TXT no painel DNS da Cloudflare para comprovar a propriedade do domínio ao Let’s Encrypt. Em seguida, utilize ferramentas como Certbot ou acme.sh na VPS para solicitar e instalar o certificado wildcard.
Posso renovar automaticamente o SSL wildcard emitido pela Let’s Encrypt na VPS com Cloudflare DNS?
Sim, é possível automatizar a renovação do certificado SSL wildcard com Let’s Encrypt usando acme.sh ou Certbot. Configure o script de renovação para atualizar os registros TXT na Cloudflare automaticamente, garantindo que o certificado seja renovado sem intervenção manual.
Conclusão
Instalar HTTPS de um jeito “definitivo” na VPS muda o jogo, principalmente quando você trabalha com vários subdomínios. Com o wildcard, você reduz manutenção e deixa o ambiente pronto para crescer: hoje é n8n.seudominio.com, amanhã pode ser api, app, painel — tudo coberto pelo mesmo certificado.
Neste guia, você viu como instalar SSL wildcard na VPS com Cloudflare DNS usando Let’s Encrypt com DNS-01, que é o método correto para wildcard. Também passamos pelo ponto mais sensível (e mais importante) do processo: criar e proteger o token API Cloudflare para Let’s Encrypt, garantindo automação com segurança.
Com o certificado emitido e o Nginx configurado, o próximo passo é bem prático: publicar seus serviços em subdomínios, ativar redirecionamento para HTTPS e testar a renovação automática. Fazendo isso, você tem uma base sólida para projetos pessoais e também para ambientes mais “de produção”, inclusive para automações com n8n.
Se você bater em algum problema, volte para os fundamentos (DNS correto, token com permissão de edição, server_name do Nginx, modo SSL do Cloudflare). Quase sempre o erro está em um desses pontos — e, com o checklist certo, resolve rápido.

