nginx訪問控制
創(chuàng)新互聯(lián)服務(wù)項(xiàng)目包括婺城網(wǎng)站建設(shè)、婺城網(wǎng)站制作、婺城網(wǎng)頁(yè)制作以及婺城網(wǎng)絡(luò)營(yíng)銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢(shì)、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,婺城網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到婺城省份的部分城市,未來相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!(1)可以限制只讓某個(gè)ip訪問
如:只讓127.0.0.1訪問admin.php
[root@wjh2 ~]# vi /usr/local/nginx/conf/vhosts/discuz.conf #打開虛擬主機(jī)配置文件#
加入以下配置:
location ~ .*admin.php$ {
allow 127.0.0.1;
deny all;
#auth_basic "qing zhu yi an quang";
#auth_basic_user_file /usr/local/nginx/conf/.htpasswd;
include fastcgi_params;
fastcgi_pass unix:/tmp/abc.sock;
#fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /discuz/www$fastcgi_script_name;
}
curl測(cè)試結(jié)果:127.0.0.1訪問200 OK
其他IP訪問訪問顯示403
(2)禁止某個(gè)IP或者IP段訪問站點(diǎn)的設(shè)置
[root@wjh2 ~]# vi /usr/local/nginx/conf/vhosts/discuz.conf #打開虛擬主機(jī)配置文件#
加入以下配置全局:
server
{
listen 80;
server_name www.123.com www.456.com www.1234.com;
#域名跳轉(zhuǎn)
if ($host != \'www.123.com\')
{
rewrite ^/(.*)$
}
index index.html index.htm index.php;
root /discuz/www;
deny 127.0.0.1;
deny 192.168.0.0/24;
(3) 需求:訪問/admin/目錄的請(qǐng)求,只允許某幾個(gè)IP訪問,配置如下:
location /admin/
{
allow 192.168.133.1;
allow 127.0.0.1;
deny all;
}
(4) 可以匹配正則
location ~ .*(abc|image)/.*.php$ #只要匹配這兩個(gè)目錄,就不能解析php#
{
deny all;
}
(5)根據(jù)user_agent限制
if ($http_user_agent ~ \'Spider/3.0|YoudaoBot|Tomato\')
{
return 403;
}
deny all和return 403效果一樣
總結(jié):如果只有單獨(dú)的全局匹配或單獨(dú)的location精確匹配,他們都是以來源IP 逐一從上到下匹配,其中一條命令匹配成功,其他匹配條件失效。
如果既有全局匹配又有l(wèi)ocation精確匹配情況,以location精確匹配情況為主、以來源IP逐一從上到下匹配,其中一條命令匹配成功,其他匹配條件失效。