爱就疯狂,不爱就坚强。
« »
2011年08月23日服务器

nginx 拒绝指定IP访问服务器

因为测试站点老是被百度收录,所以在测试站点上做了nginx上拒绝所有外来IP的访问。
location /private{
allow 192.168.1.3;//自己公司的外网IP。
deny all;//不允许所有的外来IP访问。
}
这样设置后,目录下的php之外的文件确实只有192.168.1.3这个网的机器访问,但是php文件却依然可以访问,这是为什么哪?
因为nginx的匹配方式是正则表达式优先级比较高。因此PHP解析用的是正则表达式进行匹配,而要限制的目录如果不是用正则表达式,所以,就算是要限制的目录,因为PHP还是能被匹配到,所以,还是解析PHP了。
所以,如果想解决的话,需要把目录也写成正则匹配,而且要放在PHP的前面,否则就会先匹配PHP。
location ~ ^/ {
allow 192.168.1.3;
deny all;
}
改成这样就可以了,外网IP访问的话就会显示 403 forbidden

日志信息 »

该日志于2011-08-23 09:52由 阳兄 发表在服务器分类下, 你可以发表评论。除了可以将这个日志以保留源地址及作者的情况下引用到你的网站或博客,还可以通过RSS 2.0订阅这个日志的所有评论。

相关日志 »

没有评论

发表评论 »


返回顶部