LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

nginx如何設置實現訪客用戶身份驗證

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

NGINX 能夠對客戶端進行身份驗證。使用 NGINX 對客戶端請求進行身份驗證可以減輕服務器的工作負載,并能夠阻止未經身份驗證的請求到達應用服務器。NGINX 開源版模塊包括基本身份驗證和身份驗證子請求。NGINX Plus 專有的 JSON Web Tokens(JWT)驗證模塊可與使用身份驗證標準 OpenID Connect 的第三方身份驗證提供商集成

本例子演示都是NGINX開源版

HTTP 基本身份驗證

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

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

使用openssl passwd 對字符串進行加密:

1、安裝openssl后,在命令行執行如下命令:

openssl passwd 'Test121$'

2、在conf.d目錄下創建passwd.txt,將用戶名和密碼寫入,如圖:

注:openssl passwd生成的密碼是針對當前用戶的,我在root下執行,因此用戶就是root

3、編輯nginx.conf,給server模塊添加認證,如圖:

  • auth_basic:類似一個提示作用

  • auth_basic_user_file:指定密碼文件位置


4、通過IP訪問NGINX,提示輸入賬號密碼,如圖:

使用htpasswd來配置用戶名和密碼:

除了openssl passwd外,還可以使用htpasswd來設置用戶名和密碼

1、安裝htpasswd,命令如下:

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

2、執行htpasswd命令生成用戶名和密碼文件,testuser是用戶名,如圖:

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

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

輸入后即可登錄到頁面

注意:auth_basic認證可使用在http、server、location中,針對不同場景認證

身份驗證內部子請求

通過第三方身份驗證來對請求進行身份驗證,需要用到的模塊為http_auth_request_module,此模塊默認不帶,需要在編譯安裝的時候通過如下方式指定:

--with-http_auth_request_module   #with前面是兩個橫崗

1、在conf.d下定義auth.conf文件,內容如下:

  • auth_request:啟用基于子請求結果的授權,設為off表示不啟動,可配置在http、server、location中

  • auth_status:  保存認證請求的狀態碼,那就是/authservice的狀態碼

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

  • internal:只允許NGINX內部請求,不能通過外部請求

  • proxy_pass_request_body off:禁止將請求體傳遞給上游服務器

  • proxy_set_header Content-Length “”; 不將請求頭內容傳遞給上游服務器

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

原理:首先請求進來后,先到達子請求/authservice,子請求的認證服務為http://192.168.49.83:8989/auth,如果子請求返回的狀態碼為2xx,表示請求成功,然后繼續后面的root /usr/share/nginx/html,如果返回3xx或者4xx等,則表示請求不成功,認證不通過

2、編輯auth_8989.conf文件,定義路由返回狀態碼為200,內容如下:

3、通過IP訪問,如圖:

4、修改第2步,將返回狀態碼修改為401,再次請求,如圖:

從上圖看出,當子請求返回狀態碼不是2xx的時候,認證就會失敗。


閱讀原文:原文鏈接


該文章在 2025/7/1 23:18:25 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved

黄频国产免费高清视频,久久不卡精品中文字幕一区,激情五月天AV电影在线观看,欧美国产韩国日本一区二区
亚洲国产片论片在线播放 | 亚洲乱码成熟在线视频播放 | 日本一卡精品视频免费 | 日本一区二区三区中文字幕 | 人人爽免费在线视频 | 日本激情猛烈在线看免费观看 |