有時我們會有這么一種需求,就是你的網站並不想提供一個公共的訪問或者某些頁面不希望公開,我們希望的是某些特定的客戶端可以訪問。
那么我們可以在訪問時要求進行身份認證,就如給你自己的家門加一把鎖,以拒絕那些不速之客。
一、查看當前系統參數
uname -r //查看系統內核版本號 3.13.0-32-generic cat /etc/lsb-release //查看系統版本號 Ubuntu 14.04.1 LTS
二、通過htpasswd命令生成用戶名及對應密碼數據庫文件
htpasswd命令找不到可以:
sudo apt-get install apache2-utils
生成用戶名密碼對應文件:
[root@rhel6u3-7 server]# htpasswd -c ./soft.pw chenlu //創建認證信息,chenlu 為認證用戶名 New password: ******* //輸入認證密碼 Re-type new password: ******** //再次輸入認證密碼 Adding password for user chenlu [root@rhel6u3-7 ~]# cat ./soft.pw //可以看到通過htpasswd生成的密碼為加密格式 chenlu:$apr1$SMeDVtmH$H8uXEjIGV329v49O/9pCn/
三、編輯虛擬主機配置文件
server { listen 8093; server_name localhost; autoindex on; charset utf-8; root /data/download; location / { index index.html index.htm; auth_basic "secret"; auth_basic_user_file /data/service/nginx/conf/passwd/soft.pw; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } }
四、平滑重啟nginx服務
sudo /data/service/nginx/sbin/nginx -s reload
如圖: