LOGO OA教程 ERP教程 模切知識(shí)交流 PMS教程 CRM教程 開(kāi)發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

nginx如何設(shè)置實(shí)現(xiàn)訪客用戶(hù)身份驗(yàn)證

admin
2025年6月29日 14:56 本文熱度 525

NGINX 能夠?qū)蛻?hù)端進(jìn)行身份驗(yàn)證。使用 NGINX 對(duì)客戶(hù)端請(qǐng)求進(jìn)行身份驗(yàn)證可以減輕服務(wù)器的工作負(fù)載,并能夠阻止未經(jīng)身份驗(yàn)證的請(qǐng)求到達(dá)應(yīng)用服務(wù)器。NGINX 開(kāi)源版模塊包括基本身份驗(yàn)證和身份驗(yàn)證子請(qǐng)求。NGINX Plus 專(zhuān)有的 JSON Web Tokens(JWT)驗(yàn)證模塊可與使用身份驗(yàn)證標(biāo)準(zhǔn) OpenID Connect 的第三方身份驗(yàn)證提供商集成

本例子演示都是NGINX開(kāi)源版

HTTP 基本身份驗(yàn)證

NGINX可以理解如下的密碼格式:

user1:passwd1:comment  #comment為可選的user2:passwd2user3:passwd3

使用openssl passwd 對(duì)字符串進(jìn)行加密:

1、安裝openssl后,在命令行執(zhí)行如下命令:

openssl passwd 'Test121$'

2、在conf.d目錄下創(chuàng)建passwd.txt,將用戶(hù)名和密碼寫(xiě)入,如圖:

注:openssl passwd生成的密碼是針對(duì)當(dāng)前用戶(hù)的,我在root下執(zhí)行,因此用戶(hù)就是root

3、編輯nginx.conf,給server模塊添加認(rèn)證,如圖:

  • auth_basic:類(lèi)似一個(gè)提示作用

  • auth_basic_user_file:指定密碼文件位置


4、通過(guò)IP訪問(wèn)NGINX,提示輸入賬號(hào)密碼,如圖:

使用htpasswd來(lái)配置用戶(hù)名和密碼:

除了openssl passwd外,還可以使用htpasswd來(lái)設(shè)置用戶(hù)名和密碼

1、安裝htpasswd,命令如下:

yum -y install apache2-utils    #centosapt install apache2-utils       #ubuntu

2、執(zhí)行htpasswd命令生成用戶(hù)名和密碼文件,testuser是用戶(hù)名,如圖:

3、將/root/passwd.txt內(nèi)容粘貼到conf.d/passwd.txt中,如圖:

4、再次登錄NGINX,提示輸入用戶(hù)名和密碼,如圖:

輸入后即可登錄到頁(yè)面

注意:auth_basic認(rèn)證可使用在http、server、location中,針對(duì)不同場(chǎng)景認(rèn)證

身份驗(yàn)證內(nèi)部子請(qǐng)求

通過(guò)第三方身份驗(yàn)證來(lái)對(duì)請(qǐng)求進(jìn)行身份驗(yàn)證,需要用到的模塊為http_auth_request_module,此模塊默認(rèn)不帶,需要在編譯安裝的時(shí)候通過(guò)如下方式指定:

--with-http_auth_request_module   #with前面是兩個(gè)橫崗

1、在conf.d下定義auth.conf文件,內(nèi)容如下:

  • auth_request:?jiǎn)⒂没谧诱?qǐng)求結(jié)果的授權(quán),設(shè)為off表示不啟動(dòng),可配置在http、server、location中

  • auth_status:  保存認(rèn)證請(qǐng)求的狀態(tài)碼,那就是/authservice的狀態(tài)碼

  • upstream_status:保存上游代理的返回狀態(tài)碼,也就是http://192.168.49.83:8989/auth返回的狀態(tài)碼

  • internal:只允許NGINX內(nèi)部請(qǐng)求,不能通過(guò)外部請(qǐng)求

  • proxy_pass_request_body off:禁止將請(qǐng)求體傳遞給上游服務(wù)器

  • proxy_set_header Content-Length “”; 不將請(qǐng)求頭內(nèi)容傳遞給上游服務(wù)器

  • proxy_set_header X-Original-URI $request_uri; 自定義的 HTTP 頭 X-Original-URI,其值為當(dāng)前請(qǐng)求的 URI(由變量 $request_uri 表示)。$request_uri 變量包含了原始請(qǐng)求的 URI。通過(guò)設(shè)置這個(gè)頭,你可以將原始請(qǐng)求的 URI 信息傳遞給上游服務(wù)器。這在調(diào)試或當(dāng)后端服務(wù)需要知道原始請(qǐng)求路徑時(shí)非常有用

原理:首先請(qǐng)求進(jìn)來(lái)后,先到達(dá)子請(qǐng)求/authservice,子請(qǐng)求的認(rèn)證服務(wù)為http://192.168.49.83:8989/auth,如果子請(qǐng)求返回的狀態(tài)碼為2xx,表示請(qǐng)求成功,然后繼續(xù)后面的root /usr/share/nginx/html,如果返回3xx或者4xx等,則表示請(qǐng)求不成功,認(rèn)證不通過(guò)

2、編輯auth_8989.conf文件,定義路由返回狀態(tài)碼為200,內(nèi)容如下:

3、通過(guò)IP訪問(wèn),如圖:

4、修改第2步,將返回狀態(tài)碼修改為401,再次請(qǐng)求,如圖:

從上圖看出,當(dāng)子請(qǐng)求返回狀態(tài)碼不是2xx的時(shí)候,認(rèn)證就會(huì)失敗。


閱讀原文:原文鏈接


該文章在 2025/7/1 23:18:25 編輯過(guò)
關(guān)鍵字查詢(xún)
相關(guān)文章
正在查詢(xún)...
點(diǎn)晴ERP是一款針對(duì)中小制造業(yè)的專(zhuān)業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國(guó)內(nèi)大量中小企業(yè)的青睞。
點(diǎn)晴PMS碼頭管理系統(tǒng)主要針對(duì)港口碼頭集裝箱與散貨日常運(yùn)作、調(diào)度、堆場(chǎng)、車(chē)隊(duì)、財(cái)務(wù)費(fèi)用、相關(guān)報(bào)表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點(diǎn),圍繞調(diào)度、堆場(chǎng)作業(yè)而開(kāi)發(fā)的。集技術(shù)的先進(jìn)性、管理的有效性于一體,是物流碼頭及其他港口類(lèi)企業(yè)的高效ERP管理信息系統(tǒng)。
點(diǎn)晴WMS倉(cāng)儲(chǔ)管理系統(tǒng)提供了貨物產(chǎn)品管理,銷(xiāo)售管理,采購(gòu)管理,倉(cāng)儲(chǔ)管理,倉(cāng)庫(kù)管理,保質(zhì)期管理,貨位管理,庫(kù)位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號(hào)管理軟件。
點(diǎn)晴免費(fèi)OA是一款軟件和通用服務(wù)都免費(fèi),不限功能、不限時(shí)間、不限用戶(hù)的免費(fèi)OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved

黄频国产免费高清视频,久久不卡精品中文字幕一区,激情五月天AV电影在线观看,欧美国产韩国日本一区二区
亚洲欧美中文字幕 | 香蕉啪视频在钱看视频久 | 黑色丝袜脚足国产在线看非洲 | 中文1区1区产品乱码免费 | 在线视欧美日本 | 亚洲欧美精品在线精品二区 |