Nginx之讓用戶通過用戶名密碼認證訪問web站點


有時我們會有這么一種需求,就是你的網站並不想提供一個公共的訪問或者某些頁面不希望公開,我們希望的是某些特定的客戶端可以訪問。

那么我們可以在訪問時要求進行身份認證,就如給你自己的家門加一把鎖,以拒絕那些不速之客。

一、查看當前系統參數 

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

如圖:

 

 

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM