amazon-web-services - 在 AWS ElasticBeanstalk Nginx 中使用 gzip
问题描述
我有一个 Python 3.7 的 AWS EB 环境,运行 Amazon Linux 2/3.1.2,使用 Nginx 作为代理服务器。我正在尝试为我的应用程序添加 gzip 压缩。我在网上尝试了几个教程,但它们似乎都不适合我。我也是 AWS 的新手,所以可能不熟悉它的一些服务。
目前,我有一个这样的目录树:
-- .ebextensions
-- .platform
-- nginx
-- conf.d
-- gzip.conf
-- (other files)
我尝试在其中添加一个配置文件.ebextensions
来创建一个.conf
以启用 gzip 压缩,但它似乎不起作用。我也尝试将代理切换到 Apache,但没有运气。本教程说对于最新版本的 Amazon Linux 2,nginx 配置文件应该放在.platform
文件夹中,所以我按照说明进行了操作。但是,我的gzip.conf
文件似乎仍然无法正常工作 - 文件仍然以其原始格式呈现。
目前我的gzip.conf:
gzip on;
gzip_vary on;
gzip_min_length 10240;
gzip_proxied expired no-cache no-store private auth;
gzip_types text/plain text/html text/css text/xml text/javascript application/x-javascript application/xml;
gzip_disable "MSIE [1-6]\.";
编辑:我通过 SSH 连接到我的 eb 实例,发现该文件位于/etc/nginx/conf.d/gzip.conf
并且内容与我上传的相同。这条路径对启用 gzip 是否正确?
任何帮助将不胜感激!
解决方案
在网上搜索了在 AWS 中使用 SSH 的指南后,我能够通过 ssh 进入我的 EB 实例,发现问题出在文件/etc/nginx/nginx.conf
中,其中包含默认设置gzip off
。由于某种原因,我对这个文件的扩展没有覆盖这个设置。
感谢@Marcin 建议在 SSH 中进行设置。我获得了一份副本nginx.conf
并将其添加到我的项目目录.platform/nginx
中,将 gzip 的原始设置注释掉,并将其更新为以下内容:
#Original Settings
#gzip off;
#gzip_comp_level 4;
#gzip_types text/plain text/css application/json application/javascript application/x-javascript text/xml application/xml application/xml+rss text/javascript;
#New Settings
gzip on;
gzip_static on;
gzip_comp_level 9;
gzip_proxied any;
gzip_types application/javascript application/rss+xml application/vnd.ms-fontobject application/x-font application/x-font-opentype application/x-font-otf application/x-font-truetype application/x-font-ttf application/x-javascript application/xhtml+xml application/xml application/json font/opentype font/otf font/ttf image/svg+xml image/x-icon text/css text/html text/javascript text/plain text/xml;
部署后,终于成功了!希望这会帮助其他有同样问题的人。
推荐阅读
- powershell - 如何针对每个用户配置文件运行这些命令?
- javascript - 打字稿中的“this”上下文
- vba - 运行时错误 4605:ShowHiddenText 方法或属性不可用,因为此命令不可用于读取
- sql - 将字符串附加到 nvarchar 类型的列中的现有值
- javascript - js vanilla 中的 $.ajaxSetup
- r - x 轴与 geom_segment 的顺序
- excel - 如何以文本格式从 Excel 文件导出到 csv 文件,该文件具有前导零?
- typescript - 未知联合类型的 switch 的默认子句时打字稿错误
- c# - 在 HttpClientHandler 中设置成员会导致“此实例已启动一个或多个请求”错误
- postgresql - 目标是通过 custmer_id 显示最近的交易