什么是Nginx訪問限制配置
nginx訪問限制可以基于兩個方面,一個是基于ip的訪問控制,另一個是基于用戶的信任登陸控制
下面我們將對這兩種方法逐個介紹
基于IP的訪問控制介紹:
可以通過配置基于ip的訪問控制,達到讓某些ip能夠訪問,限制哪些ip不能訪問的效果
這是允許 訪問的配置方法
配置語法:allow address | CIDR | unix | all;
默認配置:沒有配置
配置路徑:http、server、location、limit_except下;
這是不允許訪問的配置
方法配置語法:deny address | CIDR | unix | all;
默認配置:沒有配置
配置路徑:http、server、location、limit_except下;
基于IP訪問限制的測試
1. 查看本機ip地址,如果是公網(wǎng),則到 ip138網(wǎng)查看,如果是試驗,使用cmd查看。
2. 在 /opt/app/code/目錄下添加一個 admin.html 文件,里面就是一個帶著背景顏色的普通admin頁面
3. 在 /etc/nginx/conf.d/目錄下,修改default.conf文件,添加如下內(nèi)容

由上圖可知,添加了一個location,來匹配 admin.html,在里面設(shè)置了基于ip限制的配置, 將 192.xx.xx.xx 限制,不讓其訪問,其他的都可以訪問。
4. 重新加載nginx
5. 瀏覽器輸入網(wǎng)址,查看日志


6. 從上圖看之,已經(jīng)實現(xiàn)了 限制某個ip的訪問,如果只允許某個ip訪問,只需要改下關(guān)鍵字即可。
示例:
一、服務(wù)器全局限IP
#vi nginx.conf
allow 10.115.0.116; #允許的IP
deny all;
二、站點限IP
#vi vhosts.conf
站點全局限IP:
location / {
index index.html index.htm index.php;
allow 10.115.0.116;
deny all;
站點目錄限制
location ^~ /test/ {
allow 10.115.0.116;
deny all;
基于登陸用戶信任的訪問控制
舉個例子,我們在訪問apache信息時彈出一個用戶密碼框提示,來進行一個訪問前驗證。
配置語法:auth_basic string | off;
默認配置:auth_basic off;
配置路徑:http、server、location、limit_except;
匹配配置語法: auth_basic_user_file filePath;
匹配默認配置: 沒有配置
匹配配置路徑: http、server、location、limit_except;
1. 需要添加一個身份文件,auth_conf 文件,這里使用一個 htpasswd工具
使用一下命令 htpasswd -c ./auth_conf root;
解釋一下: htpasswd 命令 -c:默認是使用md5加密, ./auth_conf 是指定路徑和文件 , root是用戶名
輸入之后,會輸入兩次密碼

2. 修改 default.conf配置文件,修改內(nèi)容如下

3. 重新加載nginx
4. 輸入網(wǎng)址,查看結(jié)果,可以看出 要輸入身份信息才能訪問

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。