我想删除由nginx添加的“Server”HTTP头。模块headers-more-nginx-module添加了此功能。
此模块在默认的Amazon yum
存储库中不可用。
如何将模块添加到在Amazon Linux 2上运行的AWS Elastic Beanstalk EC2示例?
我想删除由nginx添加的“Server”HTTP头。模块headers-more-nginx-module添加了此功能。
此模块在默认的Amazon yum
存储库中不可用。
如何将模块添加到在Amazon Linux 2上运行的AWS Elastic Beanstalk EC2示例?
1条答案
按热度按时间kulphzqa1#
您需要从源代码编译模块,作为“动态模块”。下面是一个例子,特别是
headers-more-nginx-module
。假设您将应用程序以zip文件的形式上传到Elastic Beanstalk,则zip应包含三个文件,其内容如下。
.ebextensions/01-nginx-modules.config
.platform/hooks/predeploy/01-nginx-modules.sh
.platform/nginx/conf.d/01-remove-headers.conf
这是在
http
上下文中应用任何指令的地方。风险
1.从github.com和nginx.com下载意味着,如果其中一个主机不可用,或者如果文件在这些第三方服务器上移动,您的应用部署可能会失败。
1.在每个部署上安装依赖项、下载源代码和编译模块会降低应用部署的速度。
1.更新到Amazon Linux 2(或更改操作系统)可能会更改nginx的版本或编译标志,从而导致二进制不兼容。
这些风险可以通过以下方式缓解:
1.在S3上存储源程序包。
1.将编译好的模块存储在S3中,并使编译成为手动步骤。(开发人员可以在VM中编译nginx。
1.嗯嗯