Mensagem de erro
The certificate's owner does not match hostname 'api.example.com'
Também aparece como
- ERROR: no certificate subject alternative name matches
Builds do wget com GnuTLS imprimem esta linha; builds com OpenSSL imprimem “ERROR: no certificate subject alternative name matches” seguido de “requested host name '<host>'.” na linha seguinte. O host é o da sua URL.
O que significa
O certificado passou na verificação, mas foi emitido para nomes diferentes do host da URL, então o wget para. O host é comparado com os nomes DNS da extensão Subject Alternative Name do certificado, que é onde todas as CAs atuais colocam os nomes que um certificado cobre. O wget sai com o código de saída 5.
Por que acontece
O certificado não cobre este nome
comumUm certificado para www.example.com não cobre example.com, api.example.com nem um subdomínio novo; cada nome precisa estar listado, e um curinga cobre só um rótulo.
A URL usa um endereço IP ou um alias interno
comumBaixar de https://10.0.0.5/ ou de um alias de contêiner ou de host chega ao servidor, mas pede um nome que o certificado não lista.
O servidor enviou o certificado de outro site
ocasionalEm hospedagens compartilhadas e em ingress controllers, um nome sem um bloco server próprio recebe o certificado padrão.
Como corrigir
- 1.
Listar os nomes que o certificado cobre
Compare as entradas subjectAltName com o host da URL.
bash echo | openssl s_client -connect api.example.com:443 -servername api.example.com 2>/dev/null \ | openssl x509 -noout -ext subjectAltName - 2.
Reemitir o certificado com o nome que falta
Inclua na solicitação do certificado todos os nomes de host que os clientes usam e depois faça o deploy e recarregue.
bash sudo certbot certonly --nginx -d example.com -d www.example.com -d api.example.com - 3.
Usar um nome do certificado
Se o servidor for acessível por um nome listado, use esse nome na URL em vez de um endereço IP ou alias.
bash # Download through a name the certificate lists, not an IP or alias wget https://www.example.com/file.tar.gz
Erros relacionados
curl: (60) SSL: no alternative certificate subject name matches target hostname…curl (OpenSSL backend)fatal: unable to access 'https://git.example.com/team/app.git/': SSL: certifica…git over HTTPS with libcurl-gnutls (Debian, Ubuntu)x509: certificate is valid for example.com, not api.example.comGo crypto/x509