5

这是我的 nginx.conf 中的部分,但我不确定为什么当我使用 gzip 压缩检查器或 http 标头检查时,内容未压缩。

https://pasify.com

user              nginx;
worker_processes  1;

error_log  /var/log/nginx/error.log;
#error_log  /var/log/nginx/error.log  notice;
#error_log  /var/log/nginx/error.log  info;

pid        /var/run/nginx.pid;


events {
    worker_connections  1024;
}


http {
    include       /etc/nginx/mime.types;

    default_type  application/octet-stream;

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    keepalive_timeout  0;
    #keepalive_requests 5;
    #keepalive_timeout  65;
    send_timeout 10m;

    # output compression saves bandwidth
    gzip  on;
    gzip_http_version 1.1;
    gzip_vary on;
    gzip_comp_level 6;
    gzip_proxied any;
    gzip_types text/plain text/html text/css application/json application/javascript application/x-javascript text/javascript text/xml application/xml application/rss+xml application/atom+xml application/rdf+xml;

    gzip_buffers 16 8k;

    # Disable gzip for certain browsers.
    gzip_disable MSIE [1-6].(?!.*SV1);

    # Load config files from the /etc/nginx/conf.d directory
    # The default server is in conf.d/default.conf
    include /etc/nginx/conf.d/*.conf;

    ## Detect when HTTPS is used
    map $scheme $fastcgi_https {
      default off;
      https on;
    }

    client_max_body_size 20M;


}

我可以知道是什么问题吗?

4

3 回答 3

8

经过

gzip_disable MSIE [1-6].(?!.*SV1);

您已经为几乎所有在其用户代理中包含数字的浏览器禁用了 gzip,因为有两个单独的正则表达式:“MSIE”和“[1-6].(?!.*SV1)”。添加引号或更好地使用它:

gzip_disable msie6;

有关详细信息,请参阅文档

于 2012-08-14T11:51:54.717 回答
2

我唯一的评论是http://nginx.org/en/docs/http/ngx_http_gzip_module.html#gzip_types说 gzip_types 指定除了 text/html 之外要压缩的类型。所以你的 gzip_types 中的 text/html 是不必要的。如果无论如何指定它是有问题的,我会认为这是一个错误,但尝试删除它只是为了确定。

如果不是这样,你能告诉我们你的

server {...}  

块长什么样?

还要检查以确保 /etc/nginx/conf.d/*.conf 中没有任何设置“gzip off”的内容?

于 2012-08-13T17:54:27.360 回答
0

Nginx 的默认配置(至少 v1.4.6)已将gzip_types行注释掉。必须取消注释它才能压缩列出的资源类型。

于 2015-10-28T15:30:41.867 回答