Estou tentando configurar o SSL no meu balanceador de carga com um certificado que comprei no GoDaddy.
Ao tentar fazer o upload do certificado no console, recebi um erro
Falha ao criar balanceador de carga: Certificado do Servidor não encontrado para a chave: arn: aws: iam :: ************: server-certificate / mycert
Eu nunca encontrei esse erro antes ao adicionar certificados SSL. Não sei por que iam
é usado aqui.
Depois de pesquisar no Google, consegui fazer upload do meu certificado para iam
usar o aws cli (novamente, sem saber por que eu tinha que fazer isso).
Agora, ao modificar os ouvintes, posso ver meu certificado carregado como um certificado SSL existente. No entanto, quando tento salvar as minhas alterações no balanceador de carga, recebo o mesmo erro. Eu verifiquei que o certificado existe:
$ aws iam list-server-certificates
{
"ServerCertificateMetadataList": [
{
"ServerCertificateId": "*********************",
"ServerCertificateName": "mycert",
"Expiration": "2018-11-19T18:47:38Z",
"Path": "/",
"Arn": "arn:aws:iam::************:server-certificate/mycert",
"UploadDate": "2015-11-19T19:23:32Z"
}
]
}
(Verifiquei que o número da conta ofuscada aqui é igual ao erro)
A partir daqui eu estou preso. Por que não consigo aplicar meu certificado neste balanceador de carga?
Edit Thu Nov 19 11:47:18 PST 2015
Depois de esperar um pouco e sair e entrar, consegui atualizar os ouvintes com meu certificado SSL. No entanto, parece não estar funcionando corretamente. Ao tentar carregar meu domínio ao longo HTTPS
do tempo limite da solicitação. Parece incapaz de carregar o certificado
$ echo | openssl s_client -connect www.example.com:443 2>/dev/null | openssl x509 -noout -subject
unable to load certificate
69457:error:0906D06C:PEM routines:PEM_read_bio:no start line:/SourceCache/OpenSSL098/OpenSSL098-52.30.1/src/crypto/pem/pem_lib.c:648:Expecting: TRUSTED CERTIFICATE
fonte
Respostas:
Eu enfrentei o mesmo problema ao tentar criar o ELB a partir do console da web. Eu estava tentando criar um upload de um novo certificado lá via GUI e finalmente estava falhando com o mesmo erro. Eu o resolvi carregando os arquivos de certificado separadamente via aws cli. É explicado neste documento - http://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/ssl-server-cert.html#upload-cert
Carregue o certificado, chave privada e cadeia de certificados como esta
E, em seguida, acesse o console da web e escolha a opção "Escolha um certificado existente no AWS Identity and Access Management (IAM)" e escolha o par de certificados que acabou de ser carregado. Funcionará bem depois disso.
fonte
O erro é enganoso. Faz o upload do certificado. Depois de receber essa saída de erro, volte para alterar. Escolha o certificado IAM existente e clique no menu suspenso - você deve ver o novo certificado lá.
fonte
Eu tive o mesmo problema, mas felizmente consegui resolvê-lo sem precisar acessar a CLI. Solicitei ao ELB para adicionar um ouvinte HTTPS colando a cadeia de certificados no campo de certificado de chave pública , após o próprio certificado.
O erro só se manifestou quando a cadeia de certificados foi colada em sua própria caixa de entrada da cadeia de certificados no console (marcada como opcional). Não sei ao certo por que isso fez diferença, mas ele criou o ouvinte HTTPS no ELB e tudo foi bom.
fonte
Era devido ao caractere especial no Nome do certificado:. (Ponto) no meu caso. Tudo funcionou bem depois de remover todos os pontos do nome do certificado
fonte
Eu acabei de acertar também. Tentei cinco vezes para criar um novo ELB e sempre falhava. Nunca tentei fazer a variante da API, mas consegui definir o certificado SSL
fonte
Eu enfrentei o mesmo problema. No meu caso, recebi o erro "Certificado do servidor não encontrado para a chave" ao fazer o upload de um certificado SSL, mas eles acabam sendo carregados e exibidos no menu suspenso. Não recebo nenhum erro ao fazer o upload via CLI. Quando entrei em contato com o suporte da AWS, eles me deram o motivo abaixo para o erro
fonte
Eu consegui contornar isso, indo ao gerenciador de certificados no console do aws e fazendo o upload primeiro. Em seguida, use o assistente do balanceador de carga e selecione o certificado que eu enviei.
fonte
O mesmo problema aqui ao usar a interface da web da AWS: carreguei um certificado válido, a chave correta e a cadeia completa, mas obtive o erro mencionado acima.
Eu tentei uploade o certificado para outro balanceador de carga (teste). O upload funcionou, mas o status do ouvinte diz: "Certificado inválido".
Quando abri o diálogo "Selecionar certificado" novamente, nenhum certificado foi selecionado. Mas, obviamente, o certificado foi carregado corretamente, porque eu poderia selecioná-lo na lista de certificados.
Então, voltando ao meu balanceador de carga original, tentei atribuir esse certificado enviado, coisa estranha agora: ele não estava na lista. Eu tentei e fiz o upload do certificado e da chave, mas deixei de fora a cadeia de certificados. Isso funcionou, então eu sabia que deveria ser a cadeia, isso não está correto (é um commodo-cert). Eu baixei a cadeia novamente da página oficial, carreguei o pacote inteiro e funcionou. O que é estranho agora: quando comparei os dois - o corrupto e o novo baixado, eles parecem iguais. Mesmas datas, mesma série, o mesmo. Mas diferente.
Para encurtar a história: Funcionou baixando os certificados intermediários novamente.
fonte
Eu tive esse mesmo problema e o que acabou por corrigir foi entrar no Grupo de Segurança para o balanceador de carga e garantir que a porta 443 fosse aberta.
fonte
Antes de criar o balanceador de carga clássico, você precisa criar uma AMI (imagem da sua instância em produção). Com isso, vá para as configurações de criação do balanceador de carga e faça o processo novamente e, depois disso, os certificados fornecidos e todos os detalhes no meu caso.
fonte
Eu contornei isso ao não preencher o campo opcional Cadeia de certificados .
fonte
Eu tive o mesmo problema se estivesse carregando um certificado diretamente.
Se eu usasse o Gerenciador de Certificados (AWS Certificate Manager - ACM), conseguiria carregar o certificado. Depois disso, eu poderia simplesmente selecionar o certificado em uma lista suspensa.
fonte