Nginx訪問限制配置詳解
什么是Nginx訪問限制配置
nginx訪問限制可以基于兩個(gè)方面,一個(gè)是基于ip的訪問控制,另一個(gè)是基于用戶的信任登陸控制
下面我們將對這兩種方法逐個(gè)介紹
基于IP的訪問控制介紹:
可以通過配置基于ip的訪問控制,達(dá)到讓某些ip能夠訪問,限制哪些ip不能訪問的效果
這是允許 訪問的配置方法
配置語法:allow address | CIDR | unix | all;
默認(rèn)配置:沒有配置
配置路徑:http、server、location、limit_except下;
這是不允許訪問的配置
方法配置語法:deny address | CIDR | unix | all;
默認(rèn)配置:沒有配置
配置路徑:http、server、location、limit_except下;
基于IP訪問限制的測試
1. 查看本機(jī)ip地址,如果是公網(wǎng),則到 ip138網(wǎng)查看,如果是試驗(yàn),使用cmd查看。
2. 在 /opt/app/code/目錄下添加一個(gè) admin.html 文件,里面就是一個(gè)帶著背景顏色的普通admin頁面
3. 在 /etc/nginx/conf.d/目錄下,修改default.conf文件,添加如下內(nèi)容
由上圖可知,添加了一個(gè)location,來匹配 admin.html,在里面設(shè)置了基于ip限制的配置, 將 192.xx.xx.xx 限制,不讓其訪問,其他的都可以訪問。
4. 重新加載nginx
5. 瀏覽器輸入網(wǎng)址,查看日志
6. 從上圖看之,已經(jīng)實(shí)現(xiàn)了 限制某個(gè)ip的訪問,如果只允許某個(gè)ip訪問,只需要改下關(guān)鍵字即可。
示例:
一、服務(wù)器全局限IP
#vi nginx.conf allow 10.115.0.116; #允許的IP deny all;
二、站點(diǎn)限IP
#vi vhosts.conf 站點(diǎn)全局限IP: location / { index index.html index.htm index.php; allow 10.115.0.116; deny all;
站點(diǎn)目錄限制
location ^~ /test/ { allow 10.115.0.116; deny all;
基于登陸用戶信任的訪問控制
舉個(gè)例子,我們在訪問apache信息時(shí)彈出一個(gè)用戶密碼框提示,來進(jìn)行一個(gè)訪問前驗(yàn)證。
配置語法:auth_basic string | off;
默認(rèn)配置:auth_basic off;
配置路徑:http、server、location、limit_except;
匹配配置語法: auth_basic_user_file filePath;
匹配默認(rèn)配置: 沒有配置
匹配配置路徑: http、server、location、limit_except;
1. 需要添加一個(gè)身份文件,auth_conf 文件,這里使用一個(gè) htpasswd工具
使用一下命令 htpasswd -c ./auth_conf root;
解釋一下: htpasswd 命令 -c:默認(rèn)是使用md5加密, ./auth_conf 是指定路徑和文件 , root是用戶名
輸入之后,會輸入兩次密碼
2. 修改 default.conf配置文件,修改內(nèi)容如下
3. 重新加載nginx
4. 輸入網(wǎng)址,查看結(jié)果,可以看出 要輸入身份信息才能訪問
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Centos 6.5 64位中Nginx詳細(xì)安裝部署教程
Nginx是一個(gè)web服務(wù)器也可以用來做負(fù)載均衡及反向代理使用,目前使用最多的就是負(fù)載均衡,具體簡介我就不介紹了百度一下有很多,下面直接進(jìn)入安裝步驟,需要的朋友可以參考下2017-08-08Nginx 配置 ModSecurity 網(wǎng)絡(luò)應(yīng)用防火墻實(shí)現(xiàn)
這篇文章主要介紹了Nginx 配置 ModSecurity 網(wǎng)絡(luò)應(yīng)用防火墻實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-12-12nginx+uwsgi啟動Django項(xiàng)目的詳細(xì)步驟
nginx+uwsgi+django是我們常用的django部署方式。這篇文章主要介紹了nginx+uwsgi啟動Django項(xiàng)目的詳細(xì)步驟,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2018-10-10