Saltar al contenido
ecdsa.com
GNU Wget (GnuTLS build); the alias is the OpenSSL build's wordingcurl

Mensaje de error

The certificate's owner does not match hostname 'api.example.com'

También se muestra como

  • ERROR: no certificate subject alternative name matches

Las compilaciones de wget con GnuTLS imprimen esta línea; las compilaciones con OpenSSL imprimen «ERROR: no certificate subject alternative name matches» y, en la línea siguiente, «requested host name '<host>'.». El host es el de tu URL.

Qué significa

El certificado se verificó, pero se emitió para nombres distintos del host de la URL, así que wget se detiene. El host se compara con los nombres DNS de la extensión de nombre alternativo del sujeto (Subject Alternative Name) del certificado, que es donde todas las CA actuales ponen los nombres que cubre un certificado. wget termina con el código de salida 5.

Por qué ocurre

Cómo solucionarlo

  1. 1.

    Listar los nombres que cubre el certificado

    Compara las entradas subjectAltName con el host de la URL.

    bash
    echo | openssl s_client -connect api.example.com:443 -servername api.example.com 2>/dev/null \
      | openssl x509 -noout -ext subjectAltName
  2. 2.

    Volver a emitir el certificado con el nombre que falta

    Añade a la solicitud de certificado todos los nombres de host que usan los clientes; después, despliega el certificado y recarga el servidor.

    bash
    sudo certbot certonly --nginx -d example.com -d www.example.com -d api.example.com
  3. 3.

    Usar un nombre del certificado

    Si se puede llegar al servidor con uno de los nombres listados, usa ese nombre en la URL en lugar de una dirección IP o un alias.

    bash
    # Download through a name the certificate lists, not an IP or alias
    wget https://www.example.com/file.tar.gz

Errores relacionados

Explorar toda la base de datos de errores de firma