一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

云服務(wù)器|WEB服務(wù)器|FTP服務(wù)器|郵件服務(wù)器|虛擬主機(jī)|服務(wù)器安全|DNS服務(wù)器|服務(wù)器知識|Nginx|IIS|Tomcat|

服務(wù)器之家 - 服務(wù)器技術(shù) - Nginx - Nginx層面配置基礎(chǔ)用戶驗證的完整步驟

Nginx層面配置基礎(chǔ)用戶驗證的完整步驟

2020-01-09 15:08he xiaodong Nginx

這篇文章主要給大家介紹了關(guān)于Nginx層面配置基礎(chǔ)用戶驗證的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用Nginx具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧

前言

應(yīng)用場景:大概是在內(nèi)部網(wǎng)站需要外部用戶訪問到,同時不能給訪問者網(wǎng)站賬號權(quán)限,所以在 nginx 層面進(jìn)行限制。例如外包項目,內(nèi)部員工有賬號進(jìn)行文檔的操作,外包員工沒有內(nèi)部賬號,但需要讓他們能夠看到文檔,所以在 nginx 層面設(shè)置用戶驗證是最佳最簡單的選擇,多數(shù)情況下雇主方不會給外包員工開一個基礎(chǔ)訪問權(quán)限的賬號。

在 nginx 層面進(jìn)行進(jìn)行用戶認(rèn)證的前置條件:需要有對應(yīng)的密碼創(chuàng)建程序,如apache2-utils(Debian,Ubuntu)或 httpd-tools(RHEL / CentOS / Oracle Linux),不同操作系統(tǒng)是不同的軟件。

創(chuàng)建賬戶密碼文件

  • 使用命令 sudo htpasswd -c /etc/apache2/.htpasswd user1 創(chuàng)建第一個賬戶,然后按下 Enter 鍵輸入密碼,同樣的命令,沒有 -c 參數(shù)創(chuàng)建第二個用戶及密碼, -c 參數(shù)為創(chuàng)建文件,在第二次及以后的命令中不需要再次創(chuàng)建文件。
  • 確認(rèn)一下文件及賬號信息生成成功,使用命令 cat /etc/apache2/.htpasswd 查看文件內(nèi)容,應(yīng)該為賬號及加密后的密碼,如:user1:$apr1$/woC1jnP$KAh0SsVn5qeSMjTtn0E9Q0 等。

配置 nginx 進(jìn)行 http 基礎(chǔ)用戶驗證

使用 auth_basic 指令指定設(shè)置受保護(hù)區(qū)域的名稱,此名稱會顯示在賬號密碼彈窗上,使用 auth_basic_user_file 指令設(shè)置帶有賬戶密碼信息的 .htpasswd 路徑。例如配置:

?
1
2
3
4
location /api {
 auth_basic   "Administrator's Area";
 auth_basic_user_file /etc/apache2/.htpasswd;
}

此外,如果某個區(qū)塊不想繼承整個認(rèn)證體系,可以在區(qū)塊內(nèi)設(shè)置 auth_basic off,即用戶認(rèn)證關(guān)閉狀態(tài)。例如配置:

?
1
2
3
4
5
6
7
8
9
server {
 ...
 auth_basic   "Administrator's Area";
 auth_basic_user_file conf/htpasswd;
 
 location /public/ {
  auth_basic off;
 }
}

通過 ip 地址將認(rèn)證與訪問限制相結(jié)合

HTTP基本認(rèn)證可以通過IP地址有效地與訪問限制相結(jié)合。您可以實現(xiàn)至少兩種方案:

  • 用戶需要通過身份驗證并且具有 ip 訪問權(quán)限
  • 用戶需要通過身份驗證或者具有 ip 訪問權(quán)限

1、使用 allow 和 deny 指令來允許或限制指定 ip 的訪問,例如配置:

?
1
2
3
4
5
6
location /api {
 #... deny 192.168.1.2;
 allow 192.168.1.1/24;
 allow 127.0.0.1;
 deny all;
}

2、在 192.168.1.2 地址以外的網(wǎng)絡(luò),僅授予 192.168.1.1/24 的訪問權(quán)限。注意:allow 和 deny 指令將按照定義的順序應(yīng)用。

通過ip 和 http 身份驗證將限制與 satisfy 指令相結(jié)合。如果將指令設(shè)置為all,則在客戶端滿足這兩個條件時授予訪問權(quán)限。如果將指令設(shè)置為 any,則如果客戶端滿足至少一個條件,則授予訪問權(quán)限,例如配置:

?
1
2
3
4
5
6
7
8
9
10
11
location /api {
 #... satisfy all;
 
 deny 192.168.1.2;
 allow 192.168.1.1/24;
 allow 127.0.0.1;
 deny all;
 
 auth_basic   "Administrator's Area";
 auth_basic_user_file conf/htpasswd;
}

綜上可以組織成一個完整的例子:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
http {
 server {
  listen 192.168.1.23:8080;
  root /usr/share/nginx/html;
 
  location /api {
   api;
   satisfy all;
 
   deny 192.168.1.2;
   allow 192.168.1.1/24;
   allow 127.0.0.1;
   deny all;
 
   auth_basic   "Administrator's area";
   auth_basic_user_file /etc/apache2/.htpasswd;
  }
 }
}

最終效果如圖:

Nginx層面配置基礎(chǔ)用戶驗證的完整步驟

© 原創(chuàng)文章,參考自 官方文檔

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,謝謝大家對服務(wù)器之家的支持。

原文鏈接:https://alpha2016.github.io/2019/07/01/Nginx-層面配置基礎(chǔ)用戶驗證/

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: gay小太正初精 | 跪在老师脚下吃丝袜脚 | 亚洲高清视频在线 | 黑人巨茎大战欧美白妇 | 美女被狂揉下部羞羞动漫 | 被调教的校花 | 成在线人免费视频一区二区三区 | 美女舒服好紧太爽了视频 | 男人与雌性宠物交啪啪小说 | 亚洲123区 | 精品午夜久久福利大片免费 | 邪恶肉肉全彩色无遮盖 | jiuse视频 | 久久久久久免费高清电影 | 亚洲www美色| 亚洲伦理一区 | 国产三级精品久久三级国专区 | 精品免费国产一区二区三区 | 亚洲激情网站 | yellow高清免费观看日本 | 俺去也亚洲色图 | 天堂成人影院 | 四虎影视在线观看永久地址 | 日韩一级生活片 | 处女私拍| 很黄的网站在线观看 | 5g影院天天爽 | 欧美日韩久久中文字幕 | 国产精品合集一区二区 | 精品无码一区在线观看 | 午夜日本大胆裸艺术 | 亚洲成人在线播放 | 精品性影院一区二区三区内射 | 欧美香蕉人人人人人人爱 | 91在线老师啪国自产 | 91天堂素人97年清纯嫩模 | 国产综合色在线视频区色吧图片 | 97热在线 | 亚洲电影不卡 | 男人日女人的逼视频 | 国产精品夜夜爽张柏芝 |