【发布时间】:2017-07-27 22:13:01
【问题描述】:
我最近使用 HTTPS 侦听器向负载均衡器添加了 SSL 证书。
我已经更新了负载均衡器的安全组以允许来自 0.0.0.0/0 和 ::/0 的端口 443 上的 HTTPS 流量,并且我还为实例本身设置了安全组以允许 HTTPS 流量来自负载均衡器的安全组。
但是,使用 HTTPS 对我们服务器的任何请求都会失败,但使用 HTTP 可以正常通过。
在 EC2->LoadBalancers 中,我看到了一个 Listeners 选项卡,其中包含以下内容:
LB Protocol - LB Port - Ins Protocol - Ins Port - Cipher - SSL Certificate
HTTP - 80 - HTTP - 80 - N/A - N/A
HTTPS - 443 - HTTPS - 443 - Change - myCertName (IAM) Change
单击密码上的更改显示我选择了最新的安全策略 (ELBSecurityPolicy-2016-08),SSL 证书是我昨天生成的。
如果我进入 EC2 -> 安全组,我会看到以下内容:
对于 2 个实例正在使用的安全组:
Type - Protocol - Range - Source
HTTP - TCP - 80 - sg-123456
HTTPS - TCP - 443 - sg-123456
(其中 sg-123456 是负载均衡器使用的安全组的名称)。
对于 LoadBalancer 正在使用的安全组:
Type - Protocol - Range - Source
HTTPS - TCP - 443 - 0.0.0.0/0
HTTPS - TCP - 443 - ::/0
HTTP - TCP - 80 - 0.0.0.0/0
HTTP - TCP - 80 - ::/0
我也尝试过 Elastic Beanstalk -> 我的应用程序 -> 我的环境 -> 配置 -> 网络层 -> 负载平衡:
它已将安全侦听器端口设置为关闭。我将此设置为 443,将协议设置为 HTTPS,然后将 SSL 证书 ID 下拉菜单设置为我上传到负载均衡器侦听器的相同证书。
我点了保存,它开始更新环境,然后报了这个错误:
更新名为:失败的负载均衡器原因:已存在具有 LoadBalancerPort 443 的侦听器,但具有不同的 InstancePort、Protocol 或 SSLCertificateId
我觉得我可能在路上的某个地方错过了一个步骤,有人能看出那一步是什么吗?
【问题讨论】:
标签: amazon-web-services ssl amazon-ec2 https