我想要使用应用程序负载均衡器侦听器规则,将 HTTP 请求重定向至 HTTPS。
解决方法
**注意:**以下解决方法仅适用于应用程序负载均衡器。如果您使用的是经典负载均衡器,请参阅如何在 ELB 经典负载均衡器上将 HTTP 流量重定向到 HTTPS?
确认负载均衡器的类型
完成以下步骤:
- 打开 Amazon Elastic Compute Cloud (Amazon EC2) 控制台。
- 在导航窗格中的 Load Balancing(负载均衡)下,选择 Load Balancers(负载均衡器)。
- 查找您正在为其创建侦听器规则的负载均衡器。在 Type(类型)列中,记下负载均衡器是被列为 application(应用型)、classic(经典型)、network(网络型)还是 gateway(网关型)。
**注意:**在完成以下步骤之前,您必须先创建目标组。
创建将 HTTP 请求重定向到 HTTPS 的 HTTP 侦听器规则
要创建 HTTP 侦听器规则并将请求重定向到 HTTPS,请完成以下步骤:
**注意:**如果您已有 HTTP 侦听器,请继续执行下一组步骤。
- 打开 Amazon EC2 控制台。
- 在导航窗格中的 Load Balancing(负载均衡)下,选择 Load Balancers(负载均衡器)。
- 选择您的负载均衡器,然后选择 Listeners(侦听器)、Add listener(添加侦听器)。
- 对于 Protocol: port(协议:端口),选择 HTTP。您可以保留默认端口,或者指定自定义端口。
- 对于 Default actions(默认操作),选择 Add action(添加操作)、redirect to(重定向到),然后输入 port 443(端口 443)。如果您不使用默认端口,请选择其他端口。有关更多详细信息,请参阅规则操作类型。
- 完成 Create an HTTPS listener(创建 HTTPS 侦听器)部分中的步骤。
如果您已有 HTTP 侦听器,请完成以下步骤,以将 HTTP 请求重定向到 HTTPS:
- 选择您的负载均衡器,然后选择 HTTP Listeners(HTTP 侦听器)。
- 在 Rules(规则)下,选择 View/edit rules(查看/编辑规则)。
- 选择 Edit Rule(编辑规则)以修改默认规则,从而将所有 HTTP 请求重定向到 HTTPS。或者,您可以在现有规则之间插入规则。
- 在 Then(然后)下,删除现有条件,然后使用 Redirect to(重定向到)操作添加新条件。
- 对于 HTTPS,请输入 443 port(443 端口)。
- 对于其余选项,请保留默认值。
**注意:**要更改 URL 或返回代码,请修改其余选项。
- 如要保存,请选择复选标记图标。
创建 HTTPS 侦听器
注意:如果已有 HTTPS 侦听器,其包含将请求转发到目标组的规则,请继续验证应用程序负载均衡器的安全组是否允许 443 上的流量。
完成以下步骤:
- 选择 Listeners(侦听器)、Add listener(添加侦听器)。
- 对于 Protocol: port(协议:端口),选择 HTTPS。保留默认端口,或者指定自定义端口。
- 对于 Default actions(默认操作),选择 Add action(添加操作)、Forward to(转发至)。
- 选择一个托管应用程序实例的目标组。
- 为您的配置选择预定义安全策略。
- 选择 Default Security Certificate(默认安全证书)。如果没有,请申请安全证书。
- 选择 Save(保存)。
验证应用程序负载均衡器的安全组是否允许 443 上的流量
完成以下步骤:
- 选择负载均衡器的描述。
- 在 Security(安全)下,选择 Security group ID(安全组 ID)。
- 验证入站规则。安全组必须具有允许 HTTP 和 HTTPS 流量的入站规则。
如果没有入站规则,请完成以下步骤进行添加:
- 选择 Actions(操作)、Edit Inbound Rules(编辑入站规则)。
- 选择 Add rule(添加规则)。
- 对于 Type(类型),选择 HTTPS。
- 对于 Source(源),选择 Custom(自定义)(0.0.0.0/0 或 Source CIDR)。
- 选择 Save(保存)。