2020-09-12 乐帮网
netcore nginx
我使用AspNetCore开发了多个站点,部署环境为CentOS7 + Nginx + Supervisord 。
这个时候有个需求启用gzip压缩传输站点内容。
于是网上找到好多设置 Nginx 启用gzip的教程,写的都挺详细的。这里不多说,只给个示例,
https://blog.csdn.net/qq_26975307/article/details/89399758
都给了详细配置都蛋疼的没有说在加到哪里。
应该是加到对应的 server节
示例:
server{
listen 80;
server_name lebang2020.cn;
gzip on;
#不压缩临界值,大于1K的才压缩,一般不用改
gzip_min_length 1k;
#buffer,就是,嗯,算了不解释了,不用改
gzip_buffers 4 16k;
#用了反向代理的话,末端通信是HTTP/1.0,默认是HTTP/1.1
#gzip_http_version 1.0;
#压缩级别,1-10,数字越大压缩的越好,时间也越长,看心情随便改吧
gzip_comp_level 2;
#进行压缩的文件类型,缺啥补啥就行了,JavaScript有两种写法,最好都写上吧,总有人抱怨js文件没有压缩,其实多写一种格式application/javascript 就行了
gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;
#跟Squid等缓存服务有关,on的话会在Header里增加"Vary: Accept-Encoding"
gzip_vary off;
#IE6对Gzip不怎么友好,不给它Gzip了
gzip_disable "MSIE [1-6]\.";
localtion / {
root html;
index index.html index.htm;
}
......
上面配置对于直接挂载的静态站点有效,如果我是反向代理的站点呢?就像下面这样的 AspNetCore站点
location / {
proxy_pass http://localhost:9000;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection keep-alive;
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
是不会有压缩效果的。检验是否有效在chorme 里F12 查看Response的Header中是否 包含Content-Encoding:gzip 内容。
我的解决方案:更多内容请先点击捐赠按钮。
Nginx系列目录:配置示例
关注我的微信公众号
在公众号里留言交流
投稿邮箱:1052839972@qq.com
庭院深深深几许?杨柳堆烟,帘幕无重数。
玉勒雕鞍游冶处,楼高不见章台路。
雨横风狂三月暮。门掩黄昏,无计留春住。
泪眼问花花不语,乱红飞过秋千去。
如果感觉对您有帮助
欢迎向作者提供捐赠
这将是创作的最大动力