使用nginx

时间:2019-09-23 08:14:28

标签: nginx

我是第一次使用nginx,对配置有些困惑。我有一个nginx作为负载均衡器,后端也有nginx。据我了解,我已经在负载均衡器上配置了mod_security模块作为其入口点。我还在负载均衡器上添加了必需的响应标头。现在,我必须为nginx启用gzip。应该在哪里配置混乱?负载均衡器还是后端Nginx服务器?

2 个答案:

答案 0 :(得分:1)

您可以在/etc/nginx/nginx.conf中全局配置gzip,也可以仅在一个站点中配置gzip。 /etc/nginx/sites-available/your-site

配置可能如下:

gzip on;

gzip_vary on;
gzip_proxied any;
gzip_comp_level 6;
gzip_buffers 16 8k;
gzip_http_version 1.1;
gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;

答案 1 :(得分:0)

要视情况而定。

用于动态gzip压缩(例如,您的网站/应用程序的HTML输出)

如果您的负载均衡器是一台功能强大的机器,那么您可能需要在负载均衡器上执行gzip,以减少其他地方的CPU使用率。

如果您有一些需要检查响应主体的modsecurity规则,并且在节点中进行了gzipping,那么这意味着modsecurity需要对后端响应/检查/重新gzip进行zip压缩(从而导致处理开销),或者规则根本行不通。如果要在负载均衡器中gzip,则是另一种情况。

在所有其他情况下,我认为在节点上进行gzip压缩会更好。

对于静态文件

..最好依靠静态gzip(预压缩资产)。但是,由于您有许多后端,这意味着要在每个后端上预压缩资产。

如果您的后端是不同的网站/应用程序(这意味着您没有在进行实际的负载平衡),那么这不是问题。

如果您的后端是同一应用程序的实际节点,则可以在每个节点上执行max gzip,并且在负载均衡器上获得“代理缓存”结果。