我是第一次使用nginx,对配置有些困惑。我有一个nginx作为负载均衡器,后端也有nginx。据我了解,我已经在负载均衡器上配置了mod_security模块作为其入口点。我还在负载均衡器上添加了必需的响应标头。现在,我必须为nginx启用gzip。应该在哪里配置混乱?负载均衡器还是后端Nginx服务器?
答案 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,以减少其他地方的CPU使用率。
如果您有一些需要检查响应主体的modsecurity规则,并且在节点中进行了gzipping,那么这意味着modsecurity需要对后端响应/检查/重新gzip进行zip压缩(从而导致处理开销),或者规则根本行不通。如果要在负载均衡器中gzip,则是另一种情况。
在所有其他情况下,我认为在节点上进行gzip压缩会更好。
..最好依靠静态gzip(预压缩资产)。但是,由于您有许多后端,这意味着要在每个后端上预压缩资产。
如果您的后端是不同的网站/应用程序(这意味着您没有在进行实际的负载平衡),那么这不是问题。
如果您的后端是同一应用程序的实际节点,则可以在每个节点上执行max gzip,并且在负载均衡器上获得“代理缓存”结果。