nginx:根据主机名启用 gzip 压缩

nginx:根据主机名启用 gzip 压缩

我有一台运行 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 配置文件和您的站点文件,以便我们查看。

相关内容