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

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

配置 HTTP 到 HTTPS 重定向

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

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

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

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

将 HTTP 流量重定向到 HTTPS

您可以配置环境实例上的 Web 服务器或环境的 Application Load Balancer,以将 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 中的示例配置文件可正确处理这一需求。

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