在 chrome ff 里把请求 copy as curl 跑一下就有 gzip 了
浏览器我还重装了下,也不行,没开杀毒软件,裸奔,也没有任何系统拦截提示
有人也遇到过么
配置把每一项都开关试了下
gzip on;
gzip_vary on;
gzip_http_version 1.1;
gzip_min_length 1k;
g抗投诉服务器zip_buffers 4 16k;
gzip_comp_level 2;
gzip_types text/plain text/css text/xml application/json application/javascript application/rss+xml application/atom+xml image/svg+xml;
配置基本是这个工具
https://nginxconfig.io/?0.php=false&0.index=index.html&0.fallback_html
自动生成的
发一下 nginx 完整的配置和 nginx.log 你看看呢,浏览器和 curl 的请求肯定不一样的,看截图 curl 发的是 head 请求
确定开启 gzip 了? www.dute.org/gzip 检测下
accesslog:
Chrome 访问 :
[02/Aug/2019:17:59:34 +0800] "GET / HTTP/1.1" 200 1769 "-" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) Ap
pleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.80 Safari/537.36"
Firefox 访问:
[02/Aug/2019:18:00:33 +0800] "GET / HTTP/1.1" 200 1769 "-" "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv
:68.0) Gecko/20100101 Firefox/68.0"
Chrome 开发工具 url 点右键 "Copy as Curl (cmd)":
[02/Aug/2019:18:10:19 +0800] "GET / HTTP/2.0" 200 1757 "-" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) Ap
pleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.80 Safari/537.36"
errorlog 无新增项
client 端我对比了下 request header 都是一样的
服务端 nginx 看详细请求头好像还配点东西,我再查查
emmmm....他说我开了,我怎么有点不信,为什么我这就没 content-encoding 头...
中间有其它的抓包工具吗
完整配置有点长,https://nginxconfig.io/?0.php=false&0.index=index.html&0.fallback_html 就这个 进去默认的就是的 域名改过了
然后只改动 gzip 部分
看着浏览器里走的是 HTTP/1.1,curl 里是 HTTP/2,不知道有没有关系?
SwitchyOmega postman 都禁用了 用无痕纯净模式开也不行
我换台电脑试试看
我把我的吃灰 mac 拿出来试了下,chrome 很久没更新了的,竟然就有 gzip 了
暂时处于 it works,but i don't know why it works 阶段。。。
两个浏览器里响应都是 chunked encoding 但是 curl 不是,估计跟这个有关。
我倒是建议可以中间加一层 Fiddler 抓包来对比请求响应,编辑重发也挺方便。
我也遇到这种问题了
你解决了吗