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

配置反向代理

Elastic Beanstalk 使用 nginx 作为反向代理,将应用程序映射到端口 80 上的 Elastic Load Balancing 负载均衡器。Elastic Beanstalk 提供一个默认 nginx 配置,您可以扩展该配置,也可以使用您自己的配置完全覆盖该配置。

默认情况下,Elastic Beanstalk 将 nginx 代理配置为通过端口 5000 向您的应用程序转发请求。您可以覆盖默认端口,方法是将 PORT 环境属性设置为主应用程序侦听的端口。

注意

应用程序侦听的端口不会影响 nginx 服务器为了从负载均衡器接收请求而侦听的端口。

所有 Amazon Linux 2 平台都支持统一的代理配置功能。有关在运行 Amazon Linux 2 的新 Amazon Corretto 平台版本上配置代理服务器的详细信息,请展开扩展 Elastic Beanstalk Linux 平台中的反向代理配置部分。

在 Amazon Linux AMI(在 Amazon Linux 2 之前)上配置代理

如果您的 Elastic Beanstalk Go 环境使用 Amazon Linux AMI 平台版本(在 Amazon Linux 2 之前),请阅读本节中的信息。

Elastic Beanstalk 使用 nginx 作为反向代理,将应用程序映射到端口 80 上的负载均衡器。如果您想提供自己的 nginx 配置,可以覆盖 Elastic Beanstalk 提供的默认配置,方法是在源包中包含 .ebextensions/nginx/nginx.conf 文件。如果此文件存在,Elastic Beanstalk 会使用它来替代默认的 nginx 配置文件。

如果除 nginx.conf http 块中的指令外,您还想包含其他指令,可以在源包的 .ebextensions/nginx/conf.d/ 目录中提供其他配置文件。此目录中的所有文件都必须采用 .conf 扩展名。

要利用 Elastic Beanstalk 提供的功能(例如增强型运行状况报告和监控、自动应用程序映射和静态文件),您必须在 nginx 配置文件的 server 块中包含下面一行:

include conf.d/elasticbeanstalk/*.conf;