我想要使用应用程序负载均衡器侦听器规则,将 HTTP 请求重定向至 HTTPS。
解决方案
确认您的负载均衡器版本
- 打开 Amazon Elastic Compute Cloud(Amazon EC2)控制台。
- 在侧栏的负载均衡下,选择负载均衡器。
- 查找您正在为其创建侦听器规则的负载均衡器。注意类型列下列出了哪个版本:应用程序、经典、网络或网关。
以下步骤仅适用于应用程序负载均衡器。如果使用的是经典负载均衡器,请参阅 How do I redirect HTTP traffic to HTTPS on my Classic Load Balancer?
**注意:**您必须先创建一个目标组,然后再执行以下步骤。
创建将 HTTP 请求重定向到 HTTPS 的 HTTP 侦听器规则
- 打开 Amazon EC2 控制台。
- 在侧栏的负载均衡下,选择负载均衡器。
- 选择一个负载均衡器,然后选择侦听器、添加侦听器。**注意:**如果已有 HTTP 侦听器,请跳至步骤 6。
- 对于协议:端口,选择 HTTP。您可以保留默认端口,或者指定自定义端口。
- 对于默认操作,选择添加操作、重定向到,然后输入端口 443(如果未使用默认端口,则输入其他端口)。有关更多详细信息,请参阅 Rule action types。请选择对勾图标以保存。注意:如果按照这组任务中的步骤 3-5 创建了新的 HTTP 侦听器,请跳到创建 HTTPS 侦听器。
- 选择一个负载均衡器,然后选择 HTTP 侦听器。
- 在规则下,选择查看/编辑规则。
- 选择编辑规则以修改现有默认规则,从而将所有 HTTP 请求重定向到 HTTPS。或者,在现有规则之间插入一个规则(如果适合您的用例)。
- 在然后下,删除现有条件。然后,使用重定向到操作添加新条件。
- 对于 HTTPS,请输入 443 端口。
- 对于其余选项,请保留默认值。
**注意:**如果要更改 URL 或者返回代码,则可以根据需要修改这些选项。
- 请选择对勾图标以保存。
创建 HTTPS 侦听器
注意:如果已有 HTTPS 侦听器,其包含将请求转发到相应目标组的规则,请跳至验证应用程序负载均衡器的安全组是否允许 443 上的流量。
- 选择侦听器、添加侦听器。
- 对于协议:端口,选择 HTTPS。保留默认端口或者指定自定义端口。
- 对于默认操作,选择添加操作、转发至。
- 选择一个托管应用程序实例的目标组。
- 选择最适合您的配置的预定义安全策略。
- 选择默认安全证书。(如果没有,则可以创建一个安全证书。)
- 选择保存。
验证应用程序负载均衡器的安全组是否允许 443 上的流量
- 选择负载均衡器的描述。
- 在安全下,选择安全组 ID。
- 验证入站规则。安全组必须具有允许 HTTP 和 HTTPS 流量的入站规则。如果没有入站规则,请完成以下步骤进行添加。
若要添加入站规则(如果还没有),请按照以下步骤操作:
- 选择操作、编辑入站规则以修改安全组。
- 选择添加规则。
- 对于类型,选择 HTTPS。
- 对于源,选择自定义(0.0.0.0/0 或源 CIDR)。
- 选择保存。