我正在尝试让 HTTPS 与 AWS ELB 协同工作。
我已经尝试了大约一个小时,但无论我怎么尝试,通过 HTTPS 连接时都会出现连接超时的情况。HTTP 可以正常工作,但 HTTPS 不行。
有人能提供一些帮助吗?
答案1
别忘了在安全组中允许端口 443。这就是导致我超时的原因。
如果您使用的是 Elastic Beanstalk (EBS),则应直接在 EBS 配置中调整 SSL 设置,它会根据需要更新 ELB 和安全组。如果您直接在 EC2/ELB 接口中更新它,即使您可以让 SSL 工作,它也不会反映在 EBS 接口中。
答案2
您需要先上传 SSL 证书。请确保您的证书链是否包含按正确顺序排列中间证书和根证书。
我在这里找到了分析链证书问题的最佳方法:Wormly 测试 SSL Web 服务器。
我已在此处启动我的域的 Amazon ELB SSL 配置:Elastic Load Balancer 的 SSL 证书。
我正在使用 COMODO Instant SSL 证书。因此,我将证书包打包到一个 zip 文件中。解压后,它包含四个文件,如下所示:
1.AddTrustExternalCARoot {Root certificate}
2.COMODORSAAddTrustCA {intermediate certificate 1}
3.COMODORSADomainValidationSecureServerCA {intermediate certificate 2}
4.www_example_com {public key for my domain name}
笔记:我们需要将上面的证书文件转换为.PEM 格式,然后才能在 Amazon ELB 中使用它。这可以通过使用以下命令完成:
openssl x509 -inform PEM -in {above certificate file name}
现在我去了听众部分紧急负载平衡配置HTTPS。ELB HTTPS 有三个括号称为:
1.Private Key {paste the private key which was generated using openSSL}
2.Public Key Certificate {paste the public key of www_example_com certificate}
3.Certificate Chain {paste the intermediate and Root certificate}
第一次尝试时,按照亚马逊的指导,证书链部分是可选的。我继续将其留空。它在 PC 浏览器中运行良好。但在尝试在 Android 移动浏览器中打开它时出现问题。
我在这里找到了解决方案:在 Amazon Elastic Load Balancer 上设置 SSL和为 SSL 证书安装创建 .pem 文件链接。
因此,为了避免这种情况,我按以下顺序包含了链式证书:
COMODORSADomainValidationSecureServerCA
COMODORSAAddTrustCA
AddTrustExternalCARoot
我已将上述三个证书(包括开始和结束标签)复制粘贴到链证书括号中。
现在完成了。太棒了,它工作得很好。现在当我使用以下工具检查时,我的 SSL 配置显示为 100% 安全 Wormly 测试 SSL Web 服务器。
谢谢。