限制通路的方法:
有時候我們通過通路日志,能看到有幾個IP會不停的嘗試攻擊網站,需要去禁掉這幾個IP;或者去限定某些IP可以通路,其他IP均不許通路。比如:管理中心,隻要管理者通路,其他IP一律禁止通路。
通路控制比"使用者認證"要更安全。
配置方法:
編輯虛拟主機配置檔案
[root@LampLinux ~]# vim /usr/local/nginx/conf/vhosts/test.conf
修改下面配置(藍色為删除,紅色為新增):
location ~ .*admin\.php$ {
#auth_basic "LampLinux auth";
#auth_basic_user_file /usr/local/nginx/conf/.htpasswd; (删除auth相關配置)
allow 127.0.0.1;
deny all; # 隻允許127.0.0.1通路,其他全部拒絕。
include fastcgi_params;
fastcgi_pass unix:/tmp/www.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /data/www$fastcgi_script_name;
}
檢查并重加載
[root@LampLinux ~]# /usr/local/nginx/sbin/nginx -t
[root@LampLinux ~]# /usr/local/nginx/sbin/nginx -s reload
測驗:
[root@LampLinux ~]# curl -x127.0.0.1:80 www.test.com/admin.php -I
HTTP/1.1 200 OK
Server: nginx/1.6.2
Date: Wed, 12 Aug 2015 11:04:19 GMT
...
127.0.0.1通路管理中心可以通行。
[root@LampLinux ~]# curl -x192.168.137.11:80 www.test.com/admin.php -I
HTTP/1.1 403 Forbidden
Date: Wed, 12 Aug 2015 11:05:09 GMT
Content-Type: text/html
Content-Length: 168
Connection: keep-alive
192.168.137.11通路管理中心無法讀取。
[root@LampLinux ~]# curl -x192.168.137.11:80 www.test.com/forum.php -I
HTTP/1.1 200 OK
Date: Wed, 12 Aug 2015 11:06:33 GMT
192.168.137.11通路其他頁面不受限制。
僅僅是對admin.php做了403限制。
補充:
我們也可以針對目錄做通路限制:
location ~ /abc/
{
allow .....;
deny .....;
}
還可以針對全局,比如說整個網站不允許127.0.0.1通路,其他的都允許,
我們需要在整個網站配置裡面(即location上面一段結尾)加上deny 127.0.0.1;就可以了。
如果想要把192.168.137.*的這個網段都拒絕掉,接着寫入deny 192.168.137.0/24;就可以了。
配置内容如圖:
<a href="http://s3.51cto.com/wyfs02/M00/71/48/wKioL1XKvcuAULBIAAKY2ujsfC8067.jpg" target="_blank"></a>
版權聲明:原創作品,如需轉載,請注明出處。否則将追究
本文轉自 聽丶飛鳥說 51CTO部落格,原文連結:http://blog.51cto.com/286577399/1683923
法律責任
<a href="http://blog.51cto.com/search/result?q=%E8%AE%BF%E9%97%AE%E6%8E%A7%E5%88%B6" target="_blank">通路控制</a>