我知道这里有很多“类似”的问题,但无论如何......
所以 – 我有一个nginx.conf
with gzip on;
。这是一个新的、干净的 Linux 服务器,这里还没有做任何事情。
使用curl
– 我可以看到gzip
已启用:
$ curl -I -H "Accept-Encoding: gzip,deflate" gzip.setevoy.kiev.ua/
HTTP/1.1 200 OK
Server: nginx/1.10.3
Date: Wed, 19 Sep 2018 14:26:40 GMT
Content-Type: text/html
Last-Modified: Wed, 19 Sep 2018 13:56:35 GMT
Connection: keep-alive
ETag: W/"5ba25593-264"
Content-Encoding: gzip
现在 – 我添加简单的配置conf.d/gzip.setevoy.kiev.ua.conf
:
server {
listen 80;
server_name gzip.setevoy.kiev.ua;
root /var/www/etag;
index index.html;
}
现在 – 没有gzip
启用:
$ curl -I -H "Accept-Encoding: gzip,deflate" gzip.setevoy.kiev.ua/
HTTP/1.1 200 OK
Server: nginx/1.10.3
Date: Wed, 19 Sep 2018 14:28:00 GMT
Content-Type: text/html
Content-Length: 7
Last-Modified: Wed, 19 Sep 2018 13:58:46 GMT
Connection: keep-alive
ETag: "5ba25616-7"
Accept-Ranges: bytes
直接添加gzip on;
到conf.d/gzip.setevoy.kiev.ua.conf
没有帮助。如果在虚拟主机的conf中gzip off;
设置,则相同。nginx.conf
gzip on;
我在这里做错了什么?
PSgzip_vary on;
等gzip_types *
也没有帮助。
答案1
好吧,这很简单 - 但我浪费了很多时间试图弄清楚。也许对其他人有帮助。
配置一切都很好,但让我们看一下文档:
语法:gzip_min_length 长度;默认值:gzip_min_length 20;
你猜怎么着?我用添加了一个单词的方式对其进行了测试index.html
...显然,它的大小小于 20 字节,因此 NGINX 不适用于gzip
它。
所以我只是添加了gzip_min_length 0;
-nginx.conf
现在一切正常了。