推荐给好友 上一篇 | 下一篇

配置nginx过滤不良访问提高squid命中率

1、对静态内容加以问号的访问BSD爱好者乐园F$A)U A!eK9{c

9buN2Lyh例如http://www.7jiejie.com?abc,这样的请求会透过squid缓存,直达后端服务器,并且在squid中保存缓存,从而造成压力和内存浪费。
-E6j,p4Qk7qQ:`BSD爱好者乐园Bk:n#u*v3Q}
nginx的server中加入对html文件和首页等的过滤规则以解决此问题,此规则判断首页和html、jpg、gif结尾的文件,如果结尾有?xxx,则抛出403错误,由error_page接收,并用302跳转到正确的地址。
9T9b;y6S C ^1u:DBSD爱好者乐园q9i N9_^/w
location ~* (.html$)|(^/$)| (.jpg$)|(.gif$){
8IWE-RW,G A|proxy_pass http://www.7jiejie.com;
o6g_,e7`Uif ($is_args)
ZLS#ycDA{
1~0w(Za5WZ S Z#Breturn 403;
|N{"lt4y/PAerror_page 403 =200 $scheme://$host$uri;BSD爱好者乐园:j-u!M5k%q6D
}
:Hs(A%g6F4V ^o}BSD爱好者乐园ET?-xjI$v2Z

!Kn2h|*p这个方式也不是非常的完美,在测试中试图使用rewrite来达成目的,但rewrite之后会保留原来的$args即?的内容,所以不能成功。另外,如果url中有中文,则跳转是会失败,所以要保证url中不含有中文,包括url_encode的结果。
@@/@K} MU5s3a)m3ii
1V5E^B ~2、对静态内容发送POST请求BSD爱好者乐园 YPM*xD
BSD爱好者乐园H I*{/O~\ GH-t
这种请求也会透过squid,但不会在squid缓存内容。
KVZf0i9JVf
3N'k"z _8J}t ?依葫芦画个瓢,以下配置可解决BSD爱好者乐园c'l)m0cb`
location ~* (.html$)|(^/$)| (.jpg$)|(.gif$){BSD爱好者乐园Ht9e%KmC:I
proxy_pass http://www.7jiejie.com;BSD爱好者乐园/kp UTG'_yxN
if ($request_method = POST){BSD爱好者乐园K }/] `3S(V3KROf
return 403;
!JgC9kb6`#cgerror_page 403 =200 $scheme://$host$uri;
7D9]-q;dU c6~}
D6V.B \@}

[重要提醒]对本篇资料有疑问,请到论坛讨论,尽量使文章准确无误>>>
[版权声明]BSD爱好者乐园站内文章,如来源不是互联网,则均系原创或翻译之作,可随意转载,或以此为基础进行演译,但务必以链接形式注明原始出处和作者信息,否则属于侵权行为。另对本站转载他处文章,俱有说明,如有侵权请联系本人,本人将会在第一时间删除侵权文章。
TAG: nginx squid Squid
 

评分:0

我来说两句

seccode