nginx proxy_pass后gzip不生效
本文最后更新于 1945 天前,其中的信息可能已经有所发展或是发生改变。

有一台服务器只能对外开80端口,但该服务器有几个项目同时共用。因此做了一个方案,使用不同的url前缀,proxy_pass到对应项目监听的端口。

如default.conf配置如下

server {
	listen       80 default_server;

	location /a/ {
           rewrite ^/a/(.*)$ /$1 break; # 剥掉 /a 这一层
           proxy_pass http://127.0.0.1:8083;
        }

	location /b/ {
           rewrite ^/b/(.*)$ /$1 break;
           proxy_pass http://127.0.0.1:8084;
        }

	location /c/ {
           rewrite ^/c/(.*)$ /$1 break;
           proxy_pass http://127.0.0.1:8085;
        }
}

a项目配置里开启了gzip

server {
    listen 8083;

    root /path/to/a;

    gzip on;
    gzip_comp_level 3;

    ....
}

但发现gzip未生效。

后面把gzip配置放到default.conf的location部分就正常运行了。

location /a/ {
   gzip on;
   gzip_comp_level 6;
   rewrite ^/a/(.*)$ /$1 break; # 剥掉 /a 这一层
   proxy_pass http://127.0.0.1:8083;
}

对于这问题,暂未看到合理的解释。知晓原理的同学欢迎留言指教下,谢谢。

 

ps: apachebench(ab) 只支持http 1.0,如果要测试gzip的话,nginx配置还需加上 gzip_http_version 1.0;

 

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇