Como posso resolver erros de certificado expirado ou de “certificado inválido” ao invocar uma API do API Gateway usando um nome de domínio personalizado?

2 minuto de leitura
0

Configurei um nome de domínio personalizado para minha API do API Gateway. Recebi um erro informando que o certificado do AWS Certificate Manager (ACM) está expirado ou é “certificado inválido”. Como posso solucionar esse erro?

Breve descrição

O erro de certificado expirado ocorre quando o certificado usado para criar o nome de domínio personalizado está expirado.

O “erro de certificado inválido” ocorre devido a um nome comum (CN) ou nome de assunto incompatível no certificado.

Resolução

Certificados ACM expirados

Se o seu certificado estiver expirado, você poderá receber um erro semelhante ao seguinte:

"SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED]"
Para verificar a expiração do certificado, execute o comando OpenSSL s_client semelhante ao seguinte:

openssl s_client -servername <custom domain name> -connect <custom domain name>:443 2>/dev/null | openssl x509 -noout -dates

Para renovar o certificado, consulte Renovação gerenciada para certificados ACM.

Para evitar certificados expirados, consulte Como monitorar as expirações de certificados importados no ACM.

Certificados ACM incompatíveis

Se o certificado tiver um CN ou nome de assunto incompatíveis, você poderá receber um erro semelhante ao seguinte:

"ERR_CERT_COMMON_NAME_INVALID"

Confirme as seguintes configurações:

  • O certificado usado para criar o nome de domínio personalizado existe no ACM.
  • O nome do assunto do certificado ou CN inclui o nome de domínio personalizado. Por exemplo, se o nome de domínio personalizado for custom.example.com, o nome do assunto ou CN deve incluir custom.example.com ou *example.com.
  • Verifique se há um registro DNS apontando para o nome de domínio personalizado do API Gateway. O registro DNS pode ser do tipo CNAME ou A.

Observação: os nomes de domínio personalizados não podem apontar diretamente para o endpoint execute-api porque o certificado não tem o domínio personalizado listado como Nome Alternativo do Assunto (SAN).

Exemplo de configuração:

custom.example.com -> CNAME record -> d-yg54udirl4.execute-api.us-east-1.amazonaws.com

Você pode verificar sua configuração executando o comando dig em seu domínio personalizado semelhante ao seguinte:

$ dig custom.example.com

Informações relacionadas

Como posso resolver erros de resolução de DNS ou incompatibilidade de certificados para meu nome de domínio personalizado do API Gateway?