|
|
|
|
|
當你的Nginx服務器想禁止某個IP或IP段訪問時,可以通過配置文件來達到目的,本文介紹兩種常用的方法。
Nginx禁止某IP(段)訪問
Nginx配置訪問IP可以修改nginx.conf文件,只需要在server
中添加allow
和deny
的IP即可,如下:
server {
listen 80;
server_name localhost;
allow all;
deny 123.123.123.123;
error_page 500 502 503 504 /50x.html;
}
注意!上面的配置中allow
必須在deny
的前面配置,不然allow
不生效。
Nginx中允許或者拒絕某個IP訪問是這么寫的:
allow 192.168.0.1;
deny 192.168.0.2;
如果你需要對整個IP段設置不允許訪問,可以這么寫:
deny 123.0.0.0/8; // 封 123.0.0.1~123.255.255.254 這個段的ip
deny 123.123.0.0/16; // 封 123.123.0.1~123.123.255.254 這個段的ip
deny 123.123.123.0/24; // 封 123.123.123.1~123.123.123.254 這個段的ip
deny all; // 封所有ip
說明,allow
跟deny
配置相同,如果需要開放某個IP段,只需要把上面的deny
改成allow
。
另外需要注意,該配置修改需要重啟Nginx服務器才能生效。
導讀:通俗易懂解釋IP段192.168.1.0/24和192.168.0.0/16
修改網(wǎng)站配置文件.htaccess來限制某IP(段)訪問
除了修改Nginx配置文件之外,還可以通過修改網(wǎng)站配置文件.htaccess來限制某IP(段)訪問,方法如下。
將以下內容保存為.htaccess文件,上傳至網(wǎng)站根目錄。如果原來已經(jīng)存在.htaccess文件的,將以下內容加到該文件開頭。
Order allow,deny
allow from all
deny from 123.123.123.123
如果要限制一個IP段,比如要限制123.123.123.*這個C段,則輸入:
Order allow,deny
allow from all
deny from 123.123.123
以上內容表示拒絕123.123.123開頭的所有IP,其他IP允許。
如果要限制多個IP段,中間用空格隔開,如:
Order allow,deny
allow from all
deny from 111.111.111 111.222.222 111.333.333
說明,該配置不用重啟web服務器,修改立即生效。
此外,該方法適用任何web網(wǎng)站,例如IIS、Apache網(wǎng)站。
通過上述兩種方法,Nginx都可以實現(xiàn)禁止某IP(段)訪問的目的,用哪種方法就看自己的具體情況了。