服務器之家:專注于服務器技術及軟件下載分享
分類導航

云服務器|WEB服務器|FTP服務器|郵件服務器|虛擬服務器|服務器安全|DNS服務器|服務器知識|Nginx|

服務器之家 - 服務器技術 - Nginx - 詳解Nginx實戰之讓用戶通過用戶名密碼認證訪問web站點

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

2019-11-16 17:48小諾的Linux開源技術博客 Nginx

這篇文章主要介紹了詳解Nginx實戰之讓用戶通過用戶名密碼認證訪問web站點,有興趣的可以了解一下。

有時我們會有這么一種需求,就是你的網站并不想提供一個公共的訪問或者某些頁面不希望公開,我們希望的是某些特定的客戶端可以訪問。那么我們可以在訪問時要求進行身份認證,就如給你自己的家門加一把鎖,以拒絕那些不速之客。

實驗環境:

現在公司開通了一個內部使用網站為www1.rsyslog.org,要求所有人查看網頁信息之前都必須要輸入內定的用戶名及密碼方可瀏覽網頁

使用nginx下虛擬主機的搭建

www1.rsyslog.org進行測試。

www1.rsyslog.org 192.168.100.107

DNS1 192.168.100.102

一、查看當前系統參數

?
1
2
3
4
[[email protected] ~]# uname –r //查看系統內核版本號
2.6.32-279.el6.i686
[[email protected] ~]# cat /etc/redhat-release //查看系統版本號
Red Hat Enterprise Linux Server release 6.3 (Santiago)

二、編輯虛擬主機配置文件

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
[[email protected] ~]# vim /usr/local/nginx/conf/nginx.conf //主配置文件中http字段中添加以下語句,將虛擬主機的配置文件指向www1.rsyslog.org
include /usr/local/nginx/server/www1.rsyslog.org;
[[email protected] ~]# vim /usr/local/nginx/server/www1.rsyslog.org
server {
   listen    80; //監聽端口為80
   server_name www1.rsyslog.org; //虛擬主機網址
   location / {
      root  sites/www1; //虛擬主機網站根目錄
      index index.html index.htm; //虛擬主機首頁
      auth_basic "secret"; //虛擬主機認證命名
      auth_basic_user_file /usr/local/nginx/passwd.db; //虛擬主機用戶名密碼認證數據庫
    }
    location /status {
        stub_status on; //開啟網站監控狀態
        access_log /usr/local/nginx/logs/www1_status.log; //監控日志
        auth_basic "NginxStatus"; }
  }

三、通過htpasswd命令生成用戶名及對應密碼數據庫文件。

?
1
2
3
4
5
6
7
8
9
10
[[email protected] server]# htpasswd -c /usr/local/nginx/passwd.db xiaonuo //創建認證信息,xiaonuo 為認證用戶名
New password: ******* //輸入認證密碼
Re-type new password: ******** //再次輸入認證密碼
Adding password for user xiaonuo
[[email protected] server]#
[[email protected] ~]# chmod 400 /usr/local/nginx/passwd.db //修改網站認證數據庫權限
[[email protected] ~]# chown nginx. /usr/local/nginx/passwd.db //修改網站認證數據庫屬主和屬組
[[email protected] ~]# cat /usr/local/nginx/passwd.db //可以看到通過htpasswd生成的密碼為加密格式
xiaonuo:8eZAz7BqcrXmY

四、平滑重啟nginx服務

?
1
2
3
4
[[email protected] ~]# /etc/rc.d/init.d/nginx reload //平滑重啟nginx服務
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
Reloading nginx:                      [ OK ]

五、DNS服務器上添加www1 A記錄

www1    A   192.168.100.107

六、通過IE訪問www1.rsyslog.org進行測試。

別忘了將網卡首選DNS指向192.168.100.102

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

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。

原文鏈接:http://www.centoscn.com/CentosServer/www/2013/0902/1531.html

延伸 · 閱讀

精彩推薦
法甲赛程积分