Quero solucionar problemas com um certificado SSL personalizado na minha distribuição do Amazon CloudFront.
Resolução
Observação: se você receber mensagens de erro ao executar comandos da AWS Command Line Interface (AWS CLI), consulte Solução de problemas da AWS CLI. Além disso, verifique se você está usando a versão mais recente da AWS CLI.
Use uma Região compatível para certificados que você solicitou ou importou para o ACM
Para atribuir um certificado do AWS Certificate Manager (ACM) a uma distribuição do CloudFront, você deve solicitar ou importar o certificado em uma região compatível da AWS. Se você não solicitar ou importar seu certificado em uma Região compatível, recebe uma mensagem de erro.
Especifique o caminho correto do CloudFront para os certificados que você importou para o IAM
É uma prática recomendada importar seu certificado usando o ACM. Se você importar seu certificado SSL para o AWS Identity and Access Management (AWS IAM), forneça o caminho correto para que o CloudFront possa usar o certificado.
Execute o seguinte comando da AWS CLI upload-server-certificate para importar seu certificado com um caminho específico do CloudFront:
aws iam upload-server-certificate --server-certificate-name CertificateName--certificate-body file://public_key_certificate_file --private-key file://privatekey.pem --certificate-chain file://certificate_chain_file --path /cloudfront/DistributionName/
Observação: substitua CertificateName pelo nome do seu certificado, public_key_certificate_file pelo caminho do arquivo da sua chave pública, privatekey.pem pelo caminho do arquivo da sua chave privada, certificate_chain_file pelo caminho para o seu arquivo da cadeia e DistributionName pela sua distribuição do CloudFront.
Se você não especificou um caminho do CloudFront ao importar seu certificado, execute o seguinte comando update-server-certificate da AWS CLI para atualizar seu certificado com o caminho:
aws iam update-server-certificate --server-certificate-name CertificateName --new-path /cloudfront/DistributionName/
Observação: substitua CertificateName pelo nome do seu certificado e DistributionName pelo nome da sua distribuição do CloudFront.
Depois de adicionar um certificado a uma distribuição do CloudFront, o status da distribuição muda de Implantado para Em andamento. O status da distribuição volta para Implantado quando a alteração é implantada em todos os locais da borda do CloudFront.
Confirme se você tem as permissões necessárias
Se você atribuir um certificado do ACM ou do IAM, o usuário ou perfil do IAM que você usa para atribuir o certificado deve ter as seguintes permissões:
{ "Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "acm:ListCertificates",
"Resource": "*"
},
{
"Effect": "Allow",
"Action": [
"cloudfront:ListDistributions",
"cloudfront:ListStreamingDistributions"
],
"Resource": "*"
},
{
"Effect": "Allow",
"Action": [
"cloudfront:List*",
"cloudfront:Get*",
"cloudfront:Update*"
],
"Resource": "arn:aws:cloudfront::account-id:distribution/distribution-id"
},
{
"Effect": "Allow",
"Action": "iam:ListServerCertificates",
"Resource": "*"
},
{
"Effect": "Allow",
"Action": [
"iam:GetServerCertificate",
"iam:UpdateServerCertificate"
],
"Resource": "arn:aws:iam::account-id:server-certificate/certificate-name-with-path"
}
]
}
Informações relacionadas
Como uso o ACM para solucionar o erro de nome de domínio "InvalidViewerCertificate" da distribuição do CloudFront?
Requisitos para usar certificados SSL/TLS com o CloudFront
Tamanho da chave do certificado