一、環(huán)境說(shuō)明
測(cè)試網(wǎng)站地址:192.168.0.101,正常不做限制的情況下,我們?cè)谟脩?和用戶2那里都可以訪問(wèn)到網(wǎng)站的首頁(yè),如下
二、禁止某個(gè)IP或IP段訪問(wèn)
在Nginx的配置文件夾里創(chuàng)建一個(gè)名為“l(fā)icense.conf”的配置文件,專門用來(lái)做IP限制
1、禁止某個(gè)IP訪問(wèn)(用戶1 - 192.168.0.104)
在配置文件中加入如下一行,如果禁用多個(gè),可以加多行,格式為deny ***
deny 192.168.0.104;
重啟Nginx使配置生效,這時(shí)候我們發(fā)現(xiàn)用戶1已經(jīng)不能訪問(wèn)網(wǎng)站了
2、禁止某個(gè)IP段訪問(wèn)(192.168.0.1-254)
在配置文件中加入如下一行,直接禁用整個(gè)網(wǎng)段,同樣如果需要禁用多個(gè)網(wǎng)段,也可以加多行配置
deny 192.168.0.1/24;
重啟Nginx使配置生效,這時(shí)候我們發(fā)現(xiàn)用戶1和用戶2都不能訪問(wèn)網(wǎng)站了,因?yàn)樗麄兌际沁@個(gè)網(wǎng)段的IP
三、允許某個(gè)IP或IP段訪問(wèn)
1、允許某個(gè)IP訪問(wèn)(用戶1 - 192.168.0.104)
如果我們的需求是只允許指定的IP訪問(wèn),通過(guò)上文我們說(shuō)的deny的方式可以實(shí)現(xiàn),但是一個(gè)一個(gè)或一段一段封禁IP的方式太繁瑣,我們可以在配置文件中指定只允許指定IP訪問(wèn),在配置文件中加入以下配置
allow 192.168.0.104; deny all;
重啟Nginx是配置生效,這時(shí)候我們的發(fā)現(xiàn),我們指定的IP 192.168.0.104可以訪問(wèn)網(wǎng)站,沒有被允許的192.168.0.100的用戶訪問(wèn)不到網(wǎng)站
2、允許某個(gè)IP段訪問(wèn)(192.168.0.1-254) 當(dāng)我們的需求是,允許公司某個(gè)范圍內(nèi)所有的IP(192.168.0.1-254)訪問(wèn),另外一個(gè)部門的另外的IP不能訪問(wèn)時(shí),我們可以在配置文件中添加如下配置
allow 192.168.0.1/24; deny all;
重啟Nginx是配置生效,我們發(fā)現(xiàn)192.168.0.1-254網(wǎng)段內(nèi)的所有IP都能訪問(wèn)網(wǎng)站,其余的網(wǎng)段不能訪問(wèn)到我們的網(wǎng)站
四、針對(duì)某個(gè)網(wǎng)站單獨(dú)設(shè)置
當(dāng)我們的Nginx代理了很多網(wǎng)站時(shí),有的我們想讓所有人訪問(wèn),有的想讓部分人訪問(wèn),那么上面的設(shè)置就不能滿足我們的需求了,我們可以來(lái)到每個(gè)網(wǎng)站的代理配置文件,針對(duì)當(dāng)前網(wǎng)站單獨(dú)設(shè)置 比如,現(xiàn)在我們網(wǎng)站的代理配置是這樣的:
server { listen 80; server_name myweb; location / { root /usr/share/nginx/html/test;index index.html index.htm; } }
當(dāng)我們想只對(duì)這個(gè)網(wǎng)站進(jìn)行禁止或允許的配置時(shí),我們可以在server{}段中添加一行配置,如下是分別舉例
1、當(dāng)前網(wǎng)站只允許192.168.0.100訪問(wèn)
2、當(dāng)前網(wǎng)站只允許192.168.0.1-254網(wǎng)段訪問(wèn)
3、當(dāng)前網(wǎng)站禁止192.168.0.100訪問(wèn)
4、當(dāng)前網(wǎng)站禁止192.168.0.1-254網(wǎng)段訪問(wèn)
評(píng)論