10 min de leitura · Guia técnico
Corrigir certificado SSL inválido no Nginx Proxy Manager é o procedimento técnico essencial para administradores de sistemas que enfrentam falhas na emissão ou renovação de certificados Let's Encrypt em ambientes containerizados com Docker. Para corrigir o erro de SSL inválido rapidamente, siga estas etapas:
- Acesse os logs do container Docker para identificar erros no desafio ACME.
- Libere permanentemente as portas 80 e 443 no firewalld do Fedora.
- Verifique se o registro DNS tipo A do domínio aponta para o IP público do servidor.
- Execute a renovação manual através da interface administrativa do Nginx Proxy Manager.
- Ajuste as permissões de escrita nos volumes de dados do Docker para o diretório letsencrypt.
Pré-requisitos
- Servidor rodando Fedora com Docker e Docker Compose instalados.
- Nginx Proxy Manager (NPM) configurado e operacional via Docker Compose.
- Acesso de superusuário (root) ou permissões via sudo.
- Domínio ou subdomínio com DNS devidamente propagado.
- Portas 80 (HTTP) e 443 (HTTPS) abertas no roteador/firewall externo, se aplicável.
Analisar logs do container para identificar falhas de validação
O primeiro passo para resolver um erro de certificado inválido no Nginx Proxy Manager é entender o motivo pelo qual a autoridade certificadora (Let's Encrypt) não conseguiu validar a propriedade do seu domínio. No Fedora, o NPM geralmente roda dentro de um container Docker, o que significa que os erros de sistema não aparecerão nos logs globais do SO, mas sim dentro do fluxo de saída do container. Ao rodar o comando de inspeção, você deve procurar por mensagens relacionadas ao "ACME challenge" ou "Challenge failed".
Para visualizar os logs em tempo real enquanto tenta gerar um novo certificado, utilize o seguinte comando no terminal do seu servidor VPS Linux:
docker logs -f nginx-proxy-manager
Output esperado:
[10/2026] [SSL] [Let's Encrypt] Challenge failed for domain exemplo.com
[10/2026] [Nginx] [Error] Validation failed, check your DNS settings or firewall rules.
Se você visualizar erros como "Connection refused" ou "Timeout", o problema está quase certamente na camada de rede ou no firewall do Fedora. Se o erro for "NXDOMAIN", o problema reside na configuração do seu DNS. Identificar essa causa raiz economiza horas de tentativas frustradas de reinicialização do serviço sem a devida correção estrutural. Vale lembrar que a containerização via Docker isola os processos do sistema, tornando a análise de logs do container o ponto de partida obrigatório para qualquer diagnóstico.
Configurar o Firewalld no Fedora para permitir o tráfego SSL
O Fedora é conhecido por sua postura de segurança rigorosa, utilizando o firewalld como backend padrão para o gerenciamento de regras de rede. Muitas vezes, após a instalação do Docker e do NPM via Docker Compose, as portas necessárias para a validação do SSL (especialmente a porta 80, usada pelo desafio HTTP-01) permanecem bloqueadas. Sem a porta 80 aberta, o Let's Encrypt não consegue acessar o arquivo temporário criado pelo NPM para provar que você controla o servidor.
Para garantir que o tráfego flua corretamente, execute os comandos abaixo para liberar os serviços HTTP e HTTPS de forma permanente:
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload
Após aplicar as regras, verifique se elas estão ativas com o comando:
sudo firewall-cmd --list-services
Output esperado:
dhcpv6-client http https ssh
Lembre-se que, no Fedora, alterações no firewall podem impactar a comunicação entre as redes virtuais do Docker e a interface física. Se o problema persistir, verifique se o mascaramento de IP (IP masquerading) está habilitado, o que é vital para que os containers consigam responder a requisições externas de validação de SSL no Nginx Proxy Manager. Em ambientes com Docker Compose, também confirme que a rede bridge está corretamente mapeada para a interface pública.
Corrigir permissões de diretórios e renovação manual
Outro cenário comum para o certificado SSL inválido é a corrupção de arquivos no volume de dados ou a falta de permissão para que o usuário interno do container escreva na pasta /etc/letsencrypt. Isso acontece frequentemente se os volumes do Docker foram movidos, se as imagens Docker do NPM foram atualizadas ou se o Docker foi instalado com permissões restritivas no Fedora. Para garantir a integridade, você deve verificar o proprietário dos arquivos no host.
Navegue até a pasta onde seu docker-compose.yml está localizado e ajuste as permissões recursivamente (ajuste o caminho conforme sua instalação):
sudo chown -R 1000:1000 ./data ./letsencrypt
sudo chmod -R 755 ./letsencrypt
Com as permissões corrigidas, acesse a interface web do NPM (geralmente na porta 81). Vá até a aba "SSL Certificates", localize o certificado com erro, clique nos três pontos verticais e selecione "Renew Now". Se o certificado estiver marcado como "Invalid" ou "Expired", tente excluí-lo e criar um novo, garantindo que a opção "I Agree to the Let's Encrypt Terms of Service" esteja marcada. Para entender melhor os benefícios de manter esses certificados ativos, leia sobre a Lista Prática: 5 Vantagens de ter SSL gratuito no seu site.
Verificação de DNS e propagação para certificados Let's Encrypt
A validação do Let's Encrypt depende estritamente da resolução correta do nome de domínio. Se você alterou o IP do seu servidor Fedora recentemente ou acabou de configurar o domínio, a propagação do DNS pode levar de alguns minutos a 24 horas. O Nginx Proxy Manager falhará silenciosamente ou exibirá um erro genérico se o registro A não estiver apontando exatamente para o IP onde o container Docker está rodando.
Você pode validar a resolução do DNS diretamente do terminal do Fedora usando a ferramenta dig ou nslookup:
dig +short seu-dominio.com.br
Se o comando não retornar o IP correto do seu servidor, a emissão do SSL falhará. Além disso, certifique-se de que não existam registros AAAA (IPv6) antigos apontando para servidores inexistentes, pois o Let's Encrypt prioriza o IPv6 em muitas situações. Se houver um registro IPv6 configurado incorretamente, a autoridade certificadora tentará validar por ele e falhará, resultando em um certificado inválido ou erro de conexão.
Problemas comuns e como resolver
Sintoma: Erro "Internal Error" ao tentar gerar o SSL na interface
Causa: Geralmente indica que o serviço Certbot dentro do container encontrou um erro fatal, como falta de espaço em disco ou falha de comunicação com a API do Let's Encrypt.
Solução: Verifique o espaço em disco com df -h e reinicie o stack do Docker com docker-compose restart para limpar processos travados.
Sintoma: O navegador exibe NET::ERR_CERT_AUTHORITY_INVALID
Causa: O NPM pode estar servindo um certificado "Dummy" (falso) gerado automaticamente quando a emissão do certificado real falha.
Solução: Remova o host proxy no NPM, limpe o certificado na aba SSL e recrie o host, solicitando um novo certificado do zero.
Sintoma: Renovação automática falha silenciosamente
Causa: A porta 80 foi fechada após a configuração inicial ou o script de renovação automática do NPM perdeu a sincronia com o cron interno do container Docker.
Solução: Certifique-se de que a porta 80 está sempre aberta no firewalld e verifique se o container está rodando continuamente sem reinicializações inesperadas.
Perguntas frequentes sobre Nginx Proxy Manager no Fedora
Por que o Nginx Proxy Manager exibe certificado inválido no Fedora?
Geralmente, isso ocorre devido a falhas na renovação automática do Let's Encrypt, bloqueios na porta 80 pelo firewall do Fedora (firewalld) ou permissões incorretas nos volumes do Docker. Verificar os logs do container é o primeiro passo para identificar se o desafio HTTP-01 falhou.
Como renovar manualmente um certificado SSL no NPM?
Acesse a interface administrativa do Nginx Proxy Manager, vá até a aba 'SSL Certificates', localize o domínio com erro e clique nos três pontos à direita para selecionar 'Renew Now'. Se falhar, certifique-se de que o registro DNS A aponta corretamente para o IP do servidor Fedora.
O firewall do Fedora pode bloquear a emissão do SSL?
Sim, o Fedora utiliza o firewalld por padrão, que pode bloquear as portas 80 (HTTP) e 443 (HTTPS) necessárias para a validação do Let's Encrypt. É essencial liberar esses serviços usando o comando firewall-cmd para garantir que a autoridade certificadora consiga validar o domínio.
Como limpar o cache de certificados corrompidos no Nginx Proxy Manager?
Você deve acessar o terminal do servidor, navegar até o diretório de dados do NPM (geralmente onde está o docker-compose.yml) e verificar a pasta letsencrypt. Em casos críticos, remover o certificado problemático pela interface e solicitar um novo resolve conflitos de arquivos corrompidos.
Conclusão
Corrigir problemas de SSL no Fedora com Nginx Proxy Manager exige uma abordagem metódica que cubra desde a camada de rede até as permissões de arquivos do Docker. Ao garantir que o firewall não esteja bloqueando os desafios ACME e que o DNS esteja apontando corretamente, a maioria dos erros é resolvida sem a necessidade de reinstalação do serviço ou reconstrução das imagens Docker.
- Mantenha sempre a porta 80 aberta para garantir que as renovações automáticas não falhem no futuro.
- Monitore os logs do Docker regularmente para antecipar problemas de expiração.
- Utilize volumes persistentes bem configurados no Docker Compose para evitar a perda de chaves privadas e certificados.
Leia também
- Otimizar Node-RED Dashboard 2.0 no FreeBSD 14.3 com Nginx e SSL
- Guia: por que WordPress com Nginx e SSL falha no Windows 2025
- Checklist: configurar DNS do Google no Fedora 42 para VPS Linux
Precisa de ajuda com seu servidor VPS?
Se você busca performance extrema e um ambiente estável para rodar seus containers Docker com Nginx Proxy Manager, nossa infraestrutura está pronta para escalar seu projeto.