在上一章偎球,介紹了對用戶的訪問限制,這章重點介紹介紹對用戶訪問目錄進(jìn)行加密辑甜,只有輸入正確的用戶名與密碼才能進(jìn)行訪問衰絮。
這個功能特性是由ngx_http_auth_basic_module提供的,默認(rèn)編譯nginx時會編譯好栈戳,主要有以下兩個指令岂傲。
Syntax: auth_basic string | off;
Default:
auth_basic off;
Context: http, server, location, limit_except
Syntax: auth_basic_user_file file;
Default: —
Context: http, server, location, limit_except
認(rèn)證的配置可以在http指令塊,server指令塊子檀,location指令塊配置镊掖。
auth_basic string :定義認(rèn)證的字符串,會通過響應(yīng)報文返給客戶端褂痰,也可以通過這個指令關(guān)閉認(rèn)證亩进。 auth_basic_user_file file :定義認(rèn)證文件。
實例:
對匹配目錄加密:
location /img {
auth_basic "User Auth";
auth_basic_user_file /usr/local/nginx/conf/auth.passwd;
}
auth_basic 設(shè)置名字
auth_basic_user_file 用戶認(rèn)證文件放置路徑
生成認(rèn)證文件:
yum install httpd-tools -y
htpasswd -c /usr/local/nginx/conf/auth.passwd admin
輸入兩次密碼確定缩歪。
重啟服務(wù)后归薛,訪問驗證:
現(xiàn)在當(dāng)我們訪問img目錄時,需要輸入用戶名及密碼匪蝙。
它不僅可以設(shè)置訪問指定目錄時認(rèn)證還可以直接在訪問首頁時認(rèn)證主籍。
如果需要關(guān)閉可以使用auth_basic off;或者直接將這兩段注釋掉。
htpasswd命令工具:
htpasswd(選項)(參數(shù))
選項
-c:創(chuàng)建一個加密文件逛球;
-n:不更新加密文件千元,只將加密后的用戶名密碼顯示在屏幕上;
-m:默認(rèn)采用MD5算法對密碼進(jìn)行加密颤绕;
-d:采用CRYPT算法對密碼進(jìn)行加密幸海;
-p:不對密碼進(jìn)行進(jìn)行加密,即明文密碼奥务;
-s:采用SHA算法對密碼進(jìn)行加密物独;
-b:在命令行中一并輸入用戶名和密碼而不是根據(jù)提示輸入密碼;
-D:刪除指定的用戶氯葬。
添加用戶名及密碼:
htpasswd -b /usr/local/nginx/conf/auth.passwd lutixia lutixia666
更新密碼:
htpasswd -D /usr/local/nginx/conf/auth.passwd lutixia
htpasswd -b /usr/local/nginx/conf/auth.passwd lutixia lutixia777
這將是nginx系列文章挡篓,可關(guān)注同名微信公眾號:笨辦法學(xué)linux
獲取最近文章更新及精品軟件,軟件持續(xù)更新中溢谤。