第1步 - 安裝Apache Tools
需要htpassword
命令來配置將限制對目標網站的訪問的密碼。此命令是apache2-utils
程序包的一部分,因此第一步是安裝該程序包。
sudo apt-get install apache2-utils
步驟2 - 設置HTTP基本身份驗證憑據
在此步驟中,運行網站的用戶創建密碼。
該密碼和關聯的用戶名將存儲在指定的文件中。密碼將被加密,文件名可以是任何名稱。在這里,我們使用文件/etc/nginx/.htpasswd
和用戶名nginx。
要創建密碼,請運行以下命令。需要進行身份驗證,然后指定並確認密碼。
sudo htpasswd -c /etc/nginx/.htpasswd nginx
檢查新創建的文件的內容以查看用戶名和散列密碼。
cat /etc/nginx/.htpasswd
nginx:$apr1$ilgq7ZEO$OarDX15gjKAxuxzv0JTrO/
第3步 - 更新Nginx配置
已經創建了HTTP基本身份驗證憑據,下一步是更新目標網站的Nginx配置以使用它。
auth_basic
和auth_basic_user_file
指令使HTTP基本認證成為可能。值為auth_basic
任意字符串,將在身份驗證提示下顯示; value auth_basic_user_file
是在步驟2中創建的密碼文件的路徑。
兩個指令都應該位於目標網站的配置文件中,目標網站通常位於/etc/nginx/sites-available
目錄中。使用nano
或您喜歡的文本編輯器打開該文件
sudo nano /etc/nginx/sites-available/default
在location部分下,添加兩個指令:
. . . server_name localhost; location / { # First attempt to serve request as file, then # as directory, then fall back to displaying a 404. try_files $uri $uri/ =404; # Uncomment to enable naxsi on this location # include /etc/nginx/naxsi.rules auth_basic "Private Property"; auth_basic_user_file /etc/nginx/.htpasswd; } . . .
第4步 - 測試安裝程序
要應用更改,請先重新加載Nginx
sudo service nginx -s reload