那么 在 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) 加密新聞熱點
疑難解答