在 aws 弹性负载均衡器上无法让 https 使用自签名证书

Posted

技术标签:

【中文标题】在 aws 弹性负载均衡器上无法让 https 使用自签名证书【英文标题】:Trouble getting https to work with self signed certificate on aws elastic load balancer 【发布时间】:2013-09-16 05:44:22 【问题描述】:

我在使用自签名证书在我的 aws 弹性负载均衡器上配置 https 时遇到问题。完成设置后,无法连接到 https 端点。 http连接还是可以的。

这就是我所做的。

    使用此命令生成自签名证书

    openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout privateKey.key -out certificate.crt

    使用以下命令验证密钥和证书是否正常工作:

    openssl rsa -in privateKey.key -checkopenssl x509 -in certificate.crt -text -noout

    将证书密钥和证书转换为 .pem 编码格式以符合 aws 证书要求。

    openssl rsa -in privateKey.key -text > private.pem

    openssl x509 -inform PEM -in certificate.crt > public.pem

    使用 AWS 管理控制台将证书上传到我的弹性负载均衡器 http://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/US_UpdatingLoadBalancerSSL.html。对于私钥和公共证书值,我使用了步骤 3 中生成的 private.pem 和 public.pem。

    进入 EBL 监听器配置,添加一个 https 监听器并使用我刚刚上传的证书。下面是监听器的配置:

有没有想过我的配置可能有什么问题?谢谢!!!

【问题讨论】:

向 https 发出请求会得到什么?超时? 是的,请求超时。 听起来像是防火墙问题...您还有其他信息给我吗? 使用 https,curl 命令卡在“connect()”步骤,然后超时。这里有一些有趣的东西。如果我使用 AWS UI 工具上传自签名证书,我可以上传证书。但是,当使用 AWS CLI upload-server-certificate 命令时,我收到此错误“发生客户端错误 (MalformedCertificate):无效的公钥证书。”这告诉我证书/私钥可能有问题。您是否为您的 aws 平衡器生成了自签名证书?您使用了哪些步骤来生成它?谢谢! 【参考方案1】:

负载均衡器的安全组是否包含源 0.0.0.0/0 的入站 HTTPS 443 端口?我花了几个小时才终于找到了这个解决方案。

【讨论】:

啊,显而易见的事情再次让我忘记了。谢谢! 在得到大家的支持 2 小时后,就是这样。谢谢! 仅供参考,为 ELB 创建的默认安全组(未指定安全组时)仅允许端口 80 上的传入连接。

以上是关于在 aws 弹性负载均衡器上无法让 https 使用自签名证书的主要内容,如果未能解决你的问题,请参考以下文章