那么 在 nginx.conf 文件中對應的 server 段中 添加
location ^~ /test/ {
auth_basic TEST-Login;
auth_basic_user_file /root/htpasswd;
再在 root 的主目錄中 /root/ 創建一個新文件 htpasswd
此文件的書寫格式是
用戶名:密碼
每行一個賬戶
并且 密碼必須使用函數 crypt(3) 加密
官方檔說 可以用 Apache 的 htpasswd 工具來創建密碼文件
當然也可以使用perl 創建密碼文件 新建 一個 pw.pl 文件 其內容:
代碼如下:
#!/usr/bin/perl
use strict;
my $pw=$ARGV[0] ;
print crypt($pw,$pw).”n”;
然后執行 chmod +x pw.pl
./pw.pl password
papAq5PwY/QQM
papAq5PwY/QQM 就是password 的crypt()密碼
然后 將上面用 perl 生成的 加密后的密碼
按照
用戶名:密碼
的格式寫到 htpasswd 文件中
這樣既完成了設置
如果 不用
^~ /test/
而用
/test
的話 那么 將只能對目錄進行驗證 直接訪問其下的文件 將不會彈出登錄驗證
還有 htpasswd 這個文件的名字可以 自己隨意設置
用戶名 也是 自己隨意設置 無需加密
密碼必須使用函數 crypt(3) 加密
新聞熱點
疑難解答