配置 HTTP 到 HTTPS 重定向 - AWS Elastic Beanstalk
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

配置 HTTP 到 HTTPS 重定向

为 Elastic Beanstalk 环境配置 HTTPS及其子主题中,我们讨论了如何配置您的 Elastic Beanstalk 环境以使用 HTTPS,从而确保应用程序中的流量加密。本主题介绍如何在最终用户仍在启动应用程序时正常处理到该应用程序的 HTTP 流量。为此,您需要配置 HTTP to HTTPS redirection (HTTP 到 HTTPS 重定向),有时也称为强制 HTTPS

要配置重定向,您首先将环境配置为处理 HTTPS 流量。然后,您可以将 HTTP 流量重定向到 HTTPS。下面的小节将讨论这两个步骤。

配置您的环境以处理 HTTPS 流量

根据环境的负载均衡配置,执行以下操作之一:

将 HTTP 流量重定向到 HTTPS

可以配置您的环境实例上的 Web 服务器,也可以配置环境的 应用程序负载均衡器,以便将 HTTP 流量重定向到 HTTPS。请执行下列操作之一:

  • 配置实例 Web 服务器 – 此方法适用于任何 Web 服务器环境。在 Amazon Elastic Compute Cloud (Amazon EC2) 实例上配置 Web 服务器,以便使用 HTTP 重定向响应状态响应 HTTP 流量。此配置取决于您环境的平台。在 GitHub 上的 https-redirect 集合中查找您的平台对应的文件夹,然后使用该文件夹中的示例配置文件。

    如果您的环境使用 Elastic Load Balancing 运行状况检查,负载均衡器需要运行状况良好的实例用 HTTP 200 (OK) 响应来响应 HTTP 运行状况检查消息。因此,您的 Web 服务器不应将这些消息重定向到 HTTPS。https-redirect 中的示例配置文件可正确处理这一需求。

  • 配置负载均衡器 – 如果您的负载均衡环境使用 应用程序负载均衡器,则此方法适合您。应用程序负载均衡器 可以在 HTTP 流量流入时发送重定向响应。在这种情况下,不需要在您环境的实例上配置重定向。我们在 GitHub 上提供了两个示例配置文件,可展示如何配置 应用程序负载均衡器 重定向。alb-http-to-https-redirection-full.config 配置文件在端口 443 上创建 HTTPS 侦听器,并修改默认端口 80 侦听器,以便将传入的 HTTP 流量重定向到 HTTPS。alb-http-to-https-redirection.config 配置文件需要定义 443 侦听器(可以使用标准 Elastic Beanstalk 配置命名空间或 Elastic Beanstalk 控制台)。然后,它负责修改端口 80 侦听器以便执行重定向。