无法添加 SSL 侦听器,找不到密钥的服务器证书

Ste*_*ins 22 ssl amazon-web-services

我正在尝试使用从 GoDaddy 购买的证书在我的负载均衡器上设置 SSL。

尝试在控制台中上传证书时出现错误

无法创建负载均衡器:找不到密钥的服务器证书:arn:aws:iam::************:server-certificate/mycert

在添加 SSL 证书之前,我从未遇到过此错误。我不确定为什么iam在这里使用。

在谷歌搜索之后,我能够iam使用 aws cli上传我的证书(同样,不知道为什么我必须这样做)。

现在,在修改侦听器时,我可以将上传的证书视为现有的 SSL 证书。但是,当我尝试将更改保存到负载均衡器时,我遇到了同样的错误。我已验证证书存在:

$ 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"
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

(我已经验证了这里混淆的账号和错误中的一样)

从这里我被困住了。为什么我无法将我的证书应用于此负载均衡器?


编辑 2015 年 11 月 19 日星期四 11:47:18 PST

等待一段时间并注销并登录后,我能够使用我的 SSL 证书更新侦听器。但是,它似乎无法正常工作。尝试通过HTTPS请求加载我的域时超时。好像无法加载证书

$ 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
Run Code Online (Sandbox Code Playgroud)

小智 32

尝试从 Web 控制台创建 ELB 时,我遇到了同样的问题。我试图通过 GUI 在那里创建一个上传新证书,但最终失败并出现相同的错误。我通过 aws cli 分别上传证书文件解决了这个问题。本文档对此进行了解释 - http://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/ssl-server-cert.html#upload-cert

像这样上传证书、私钥和证书链

aws iam upload-server-certificate --server-certificate-name my-server-cert \
  --certificate-body file://my-certificate.pem --private-key file://my-private-key.pem \
  --certificate-chain file://my-certificate-chain.pem
Run Code Online (Sandbox Code Playgroud)

然后转到 Web 控制台并选择选项“从 AWS Identity and Access Management (IAM) 选择现有证书”并选择刚刚上传的证书对。之后它会正常工作。

  • 对于更新(现在是 2017 年),我刚刚谈到了亚马逊支持,这仍然是一个已知问题。CLI 是确保此过程正常运行的唯一方法。-_- (2认同)
  • 2017年年中,问题依然存在。 (2认同)
  • 2018 年 1 月下旬 - 静止和问题 (2认同)

小智 18

该错误具有误导性。它确实上传了证书。一旦您收到该错误退出,然后返回更改。选择现有的 IAM 证书并单击下拉列表 - 您应该在那里看到新证书。


小智 5

我遇到了同样的问题,但幸运的是设法解决了它,而不必点击 CLI。我得到了ELB通过粘贴添加HTTPS侦听器证书链中的公钥证书领域,证书本身之后。

该错误仅在将证书链粘贴到控制台中其自己的证书链输入框(标记为可选)时才会出现。不太确定为什么这会有所作为,但它在 ELB 上创建了 HTTPS 侦听器,一切都很好。