Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Ao trabalhar com servidores Flask e HTTPS, é comum que desenvolvedores enfrentem problemas relacionados a certificados SSL, especialmente o erro NET::ERR_CERT_COMMON_NAME_INVALID. Este erro indica que o nome comum (CN) ou os nomes alternativos do certificado não correspondem ao domínio ou IP acessado, causando a rejeição da conexão segura pelo navegador. Entender a origem dessa falha é crucial para uma resolução rápida e eficaz.
O erro ocorre quando o certificado SSL instalado no servidor não cobre o nome de domínio ou endereço IP utilizado na URL. Em ambientes de desenvolvimento ou produção, esse problema é frequente ao utilizar certificados autoassinados ou ao migrar para HTTPS sem atualizar as configurações de certificados.
No contexto de Flask, é comum rodar o servidor localmente com certificados gerados manualmente ou por ferramentas específicas, e, muitas vezes, esses certificados não incluem todos os nomes DNS ou IPs acessados. Assim, ao acessar o servidor por um domínio personalizado, o navegador detecta que o certificado não corresponde ao endereço, resultando no erro. Sem esse critério, a solução pode parecer simples no começo e cara no suporte. O valor aparece melhor quando operação, produto e engenharia olham para o mesmo risco.
Para confirmar o motivo, use ferramentas como openssl para inspeção do certificado. Rodando:
openssl s_client -connect seu_dominio:443 -showcerts
você consegue visualizar o certificado apresentado pelo servidor e conferir os nomes listados na extensão subjectAltName. Se o domínio ou IP acessado não estiver presente, essa é a causa do erro.
A solução central é garantir que o certificado SSL contenha todos os nomes utilizados na navegação. Para ambientes de produção, recomenda-se usar certificados emitidos por uma autoridade certificadora confiável, incluindo todos os domínios e IPs relevantes. A decisão fica mais saudável quando o time consegue medir o impacto depois. Sem esse critério, a solução pode parecer simples no começo e cara no suporte. O valor aparece melhor quando operação, produto e engenharia olham para o mesmo risco. Por isso, o recorte precisa considerar manutenção, validação e caminho de volta.
Se estiver usando certificados autoassinados, reconfigure-os para incluir os nomes corretos. Um exemplo de geração de certificado com múltiplos nomes é:
openssl req -new -newkey rsa:2048 -days 365 -nodes -x509 \
-subj "/CN=meudominio.com" \
-extensions san \
-keyout minha-chave.key \
-out meu-certificado.crt O valor aparece melhor quando operação, produto e engenharia olham para o mesmo risco. Por isso, o recorte precisa considerar manutenção, validação e caminho de volta. Esse contexto ajuda a separar ganho real de novidade difícil de sustentar. A decisão fica mais saudável quando o time consegue medir o impacto depois. Sem esse critério, a solução pode parecer simples no começo e cara no suporte. O valor aparece melhor quando operação, produto e engenharia olham para o mesmo risco. Por isso, o recorte precisa considerar manutenção, validação e caminho de volta. Esse contexto ajuda a separar ganho real de novidade difícil de sustentar. A decisão fica mais saudável quando o time consegue medir o impacto depois.
E o arq uivo de configuração deve incluir:
[req]
distinguished_name=dn
req_extensions = v3_req
[dn]
CN=meudominio.com
[v3_req]
subjectAltName=DNS:meudominio.com,IP:192.168.1.10 Por isso, o recorte precisa considerar manutenção, validação e caminho de volta. O valor aparece melhor quando operação, produto e engenharia olham para o mesmo risco. O valor aparece melhor quando operação, produto e engenharia olham para o mesmo risco. O valor aparece melhor quando operação, produto e engenharia olham para o mesmo risco. O valor aparece melhor quando operação, produto e engenharia olham para o mesmo risco. O valor aparece melhor quando operação, produto e engenharia olham para o mesmo risco. O valor aparece melhor quando operação, produto e engenharia olham para o mesmo risco. Por isso, o recorte precisa considerar manutenção, validação e caminho de volta.
Para ambientes de desenvolvimento, uma prática comum é gerar certificados com mkcert, que automaticamente inclui os nomes utilizados localmente, facilitando o desenvolvimento sem erro. Esse contexto ajuda a separar ganho real de novidade difícil de sustentar. Por isso, o recorte precisa considerar manutenção, validação e caminho de volta. Por isso, o recorte precisa considerar manutenção, validação e caminho de volta. Por isso, o recorte precisa considerar manutenção, validação e caminho de volta. Por isso, o recorte precisa considerar manutenção, validação e caminho de volta. Por isso, o recorte precisa considerar manutenção, validação e caminho de volta. Esse contexto ajuda a separar ganho real de novidade difícil de sustentar.
1. Verifique os nomes presentes no certificado atual.
2. Atualize ou gere um novo certificado incluindo todos os nomes DNS/IP que serão utilizados.
3. Instale o certificado atualizado no seu servidor Flask, configurando corretamente o SSL.
4. Teste acessando o servidor por diferentes domínios/IPs para garantir que o erro não ocorre mais.
Este erro é uma questão de configuração de certificado SSL. Corrigi-lo envolve garantir que o certificado cubra todos os nomes acessados. Para ambientes de produção, priorize certificados emitidos por fontes confiáveis e mantenha-os atualizados. Para desenvolvimento, ferramentas como mkcert proporcionam uma experiência sem dores de cabeça, evitando erros comuns relacionados a nomes. A decisão fica mais saudável quando o time consegue medir o impacto depois. Sem esse critério, a solução pode parecer simples no começo e cara no suporte. Esse contexto ajuda a separar ganho real de novidade difícil de sustentar. Esse contexto ajuda a separar ganho real de novidade difícil de sustentar.
A atenção aos detalhes na configuração do certificado evita dores de cabeça posteriores, especialmente ao migrar para ambientes mais complexos ou ao escalar a aplicação. Assim, a solução passa por um bom planejamento na emissão e instalação dos certificados — simples na teoria, mas que faz toda a diferença na prática. Sem esse critério, a solução pode parecer simples no começo e cara no suporte. A decisão fica mais saudável quando o time consegue medir o impacto depois. Sem esse critério, a solução pode parecer simples no começo e cara no suporte. A decisão fica mais saudável quando o time consegue medir o impacto depois. A decisão fica mais saudável quando o time consegue medir o impacto depois.
No meu deployment sempre uso Let's Encrypt com Certbot. Assim o certificado cobre todos os dominios e rola de nao ter esse problema. Mas pra quem mexe com autoassinados o que a Yasmin explicou e ouro.
duvido! ótima explicação, Yasmin! Aqui no meu time, o maior problema era justamente não incluir todos os nomes no certificado. Uma dica que funciona é sempre usar o mkcert pra ambiente local, ajuda demais. Já passei por isso várias vezes.
E o mais importante, sempre testar acessando por diferentes domínios depois de trocar o certificado.
Verdade, Nicolas. E cuidado também ao usar IPs fixos na cnfiguração, tem que estar no subjectAltName, senão dá erro igualzinho.