我有一台运行 nginx 的机器,为多个域提供 http 流量(使用相同的 Lua 代码库)。对于某些域,我想启用 gzip 压缩。是否可以为特定域集启用 gzip 压缩?如何操作?
答案1
当然,如果你看看文档您可以看到,将其放置gzip
在以下任何级别都是可以接受的http, server, location, if in location
,并且由于域是在server
使用级别定义的,server_name
因此我们可以将 gzip 放在它旁边。
首先检查您的nginx.conf
文件gzip on;
是否存在,将其删除。
然后您需要创建一个 conf 文件并定义您想要使用 gzip 的位置。
server {
server_name www.myexample.com;
listen 80;
gzip off;
}
server {
server_name www.myotherexample.com;
listen 80;
gzip on;
}
答案2
是的。你应该为每个主机名创建一个服务器块,只需使用
gzip on;
或者
gzip off;
在每个服务器块内。文档可以在这里找到。唯一的问题是如果您使用了某种通配符,或者每个域没有服务器块。
例如
server {
server_name www.example.com;
listen 80;
root /what/ever;
gzip on;
}
server {
server_name www.example2.com;
listen 80;
root /what/ever2;
gzip off;
}
如果这没有意义,请发布您的 nginx 配置文件和您的站点文件,以便我们查看。