鍍金池/ 問答/Linux  網(wǎng)絡(luò)安全/ 如何判斷nginx代理的站點是否開啟了Gzip壓縮?

如何判斷nginx代理的站點是否開啟了Gzip壓縮?

今天剛開始研究nginx和它的gzip壓縮功能,從官網(wǎng)下載了一個 windows 穩(wěn)定版本的 nginx,然后解壓到c盤,通過cmd,執(zhí)行start nginx,然后在瀏覽器地址欄輸入http://localhost,可以看到如下界面:

圖片描述

至此,可以證明nginx已經(jīng)開發(fā)發(fā)揮作用了,然后網(wǎng)上查了一些配置信息,并修改C:\nginx-1.12.2\conf\nginx.conf文件,在http節(jié)點添加如下配置:

    gzip  on;
    gzip_comp_level 4;
    gzip_buffers  4 16k;   
    gzip_types text/plain  text/css application/javascript application/x-javascript text/xml application/xml application/xml+rss text/javascript; 
    #gzip_min_length 1k;
    gzip_http_version 1.1;

再次訪問http://localhost,并通過f12監(jiān)聽該請求,在response頭并沒有發(fā)現(xiàn)任何gzip的蛛絲馬跡(印象用,有的站點相應(yīng)存在過gzip字眼),請問,我錯在什么地方呢?我做這些簡單的操作如何能證明gzip已經(jīng)開始生效了呢?

回答
編輯回答
朽鹿

更新

看到有其他回答說text/html是強(qiáng)制性不需要額外配置,我對nginx還不夠熟悉,下面的答案只是我自己猜測,如果錯誤的話請參考其他答案

你檢查的response頭是html文檔嗎?
如果是的話,問題大概是html文檔的content-typetext/html,并不在你配置的
gzip_types text/plain text/css application/javascript application/x-javascript text/xml application/xml application/xml+rss text/javascript;

2018年5月19日 16:40
編輯回答
吢涼

問題解決了~~哈哈哈哈哈

非常謝謝各位的幫助。。。

1、首先 npm run build 打包一個項目;
2、nodejs 安裝 pm2,網(wǎng)上找了一個殼,把打包好的項目扔進(jìn)去,配置好,通過 pm2 start index.js啟動該項目,并且成功;
3、修改本地 hosts 文件,為站點帶來一個域名(site.com)和ip(192.168.3.3:5050)(ip默認(rèn)好像是本地ip,端口是vue項目配置的端口,這一點我還有點暈,有時間再整理一下);
4、修改nginx配置文件,使用戶可以通過剛才的域名 site.com訪問到nginx訪問到192.168.3.3,配置文件如下:

http 節(jié)點:(主要 gzip ongzip_types這兩行)

    gzip  on;
    gzip_comp_level 4;
    gzip_buffers  4 16k;   
    gzip_types text/plain  text/css application/javascript application/x-javascript text/xml application/xml application/xml+rss text/javascript; 
    #gzip_min_length 1k;
    gzip_http_version 1.1;

server 節(jié)點:(將 site.com:80 請求轉(zhuǎn)發(fā)到 http://192.168.3.3:5050)

        listen       80;#端口
        server_name  site.com;#域名

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            #root   html;
            #index  index.html index.htm;
            proxy_pass    http://192.168.3.3:5050;#pm2 跑起來的地址
            proxy_redirect default ;
        }

上圖壓縮效果:

圖一:未壓縮的請求
圖片描述

圖二:壓縮后的請求

圖片描述

2018年9月2日 20:39
編輯回答
遲月

curl --verbose "http://xxx" 或者 curl --dump-header - "http://xxx"

2018年8月29日 00:03
編輯回答
空痕

nginx輸出gzip有很多條件:

  1. 開啟了gzip:gzip on;
  2. gzip_types定義了content-type,需要注意的是text/html是強(qiáng)制性的,不需要也不能再添加
  3. 這個響應(yīng)輸出的content-typegzip_types
  4. 輸出的content-length大于等于nginx配置的gzip_min_length,默認(rèn)是20字節(jié)
  5. 請求頭需要有accept-encoding并且值包含gzip

以上是相關(guān)配置
通過瀏覽器的開發(fā)者工具可以查看,也可以使用命令行工具
比如curl http://example.com/index.html --compressed,curl--compressed參數(shù)會在請求頭加上Accept-Encoding: deflate, gzip

需要看響應(yīng)的body大小,可以用curl -v,會打印相關(guān)信息
也可以用curl -w "%{size_download}"

2017年1月9日 01:18
編輯回答
卟乖

瀏覽器端查看響應(yīng)
clipboard.png

2017年9月22日 13:16