AWS Elastic Beanstalk
开发人员指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

为 Elastic Beanstalk 环境配置 HTTPS

如果您已为 Elastic Beanstalk 环境购买并配置了自定义域名,您可以使用 HTTPS 来允许用户安全连接到网站。如果您没有域名,仍可将包含自签名证书的 HTTPS 用于开发和测试目的。HTTPS 是传输用户数据或登录信息的任何应用程序而言都必不可少。

配合 Elastic Beanstalk 环境使用 HTTPS 的最简单方式是向环境的负载均衡器分配服务器证书。当您配置负载均衡器以终止 HTTPS 时,客户端和负载均衡器之间的连接是安全的。负载均衡器和 EC2 实例的后端连接使用 HTTP,因此不需要实例的其他配置。

注意

使用 AWS Certificate Manager (ACM),您可为自己的域名免费创建可信证书。ACM 证书只可配合 AWS 负载均衡器和 Amazon CloudFront 分配使用,ACM 仅在特定区域中可用

要在 Elastic Beanstalk 中使用 ACM 证书,请参阅配置 Elastic Beanstalk 环境负载均衡器以终止 HTTPS

如果您在单实例环境中运行应用程序,或需要确保可一直连接到负载均衡器背后的 EC2 实例,您可配置在实例上运行的代理服务器以终止 HTTPS。配置实例以终止 HTTPS 连接要求使用配置文件来更改在实例上运行的软件,并修改安全组,以允许安全连接。

对于负载均衡环境中的端对端 HTTPS,您可组合实例和负载均衡器终止,以同时加密两个连接。默认情况下,如果您使用 HTTPS 配置负载均衡器以转发流量,它将信任由后端实例向其提交的所有证书。为了实现最高安全性,您将策略与负载均衡器连接,避免其连接未提交其信任的公有证书的实例。

注意

您也可将负载均衡器配置为传递 HTTPS 流量,无需解密。这种方法的缺点在于负载均衡器无法查看请求,因此无法优化路由或报告响应指标。

如果 ACM 在您所在的区域不可用,您可从第三方购买的可信证书。第三方证书可用于在负载均衡器、后端实例或负载均衡器及后端实例上解密 HTTPS 流量。

对于开发和测试,您可使用开源工具自行创建和签署证书。自签名证书可免费轻松创建,但无法用于公共站点的前端解密。如果您试图通过客户端为 HTTPS 连接使用自签名证书,用户的浏览器将会显示错误消息,表示网站不安全。但您可使用自签名证书来确保后端连接,不会出现问题。

ACM 是以编程方式预配置、管理和部署您的服务器证书的首选工具,也可以使用 AWS CLI。如果 ACM 在您所在的区域不可用,您可以使用 AWS CLI 上传第三方或自签名证书和私有密钥到 AWS Identity and Access Management (IAM)。在 IAM 中存储的证书可配合负载均衡器和 CloudFront 分配使用。

注意

GitHub 上的是否有 Snake?示例应用程序包括使用 Tomcat Web 应用程序配置 HTTPS 的每种方法的配置文件和说明。请参阅 readme 文件和 HTTPS 说明以了解详细信息。