詳解Nginx實戰(zhàn)之讓用戶通過用戶名密碼認(rèn)證訪問web站點
有時我們會有這么一種需求,就是你的網(wǎng)站并不想提供一個公共的訪問或者某些頁面不希望公開,我們希望的是某些特定的客戶端可以訪問。那么我們可以在訪問時要求進(jìn)行身份認(rèn)證,就如給你自己的家門加一把鎖,以拒絕那些不速之客。
實驗環(huán)境:
現(xiàn)在公司開通了一個內(nèi)部使用網(wǎng)站為www1.rsyslog.org,要求所有人查看網(wǎng)頁信息之前都必須要輸入內(nèi)定的用戶名及密碼方可瀏覽網(wǎng)頁
使用nginx下虛擬主機(jī)的搭建
www1.rsyslog.org進(jìn)行測試。
www1.rsyslog.org 192.168.100.107
DNS1 192.168.100.102
一、查看當(dāng)前系統(tǒng)參數(shù)
[root@rhel6u3-2 ~]# uname –r //查看系統(tǒng)內(nèi)核版本號 2.6.32-279.el6.i686 [root@rhel6u3-2 ~]# cat /etc/redhat-release //查看系統(tǒng)版本號 Red Hat Enterprise Linux Server release 6.3 (Santiago)
二、編輯虛擬主機(jī)配置文件
[root@rhel6u3-7 ~]# vim /usr/local/nginx/conf/nginx.conf //主配置文件中http字段中添加以下語句,將虛擬主機(jī)的配置文件指向www1.rsyslog.org include /usr/local/nginx/server/www1.rsyslog.org; [root@rhel6u3-7 ~]# vim /usr/local/nginx/server/www1.rsyslog.org server { listen 80; //監(jiān)聽端口為80 server_name www1.rsyslog.org; //虛擬主機(jī)網(wǎng)址 location / { root sites/www1; //虛擬主機(jī)網(wǎng)站根目錄 index index.html index.htm; //虛擬主機(jī)首頁 auth_basic "secret"; //虛擬主機(jī)認(rèn)證命名 auth_basic_user_file /usr/local/nginx/passwd.db; //虛擬主機(jī)用戶名密碼認(rèn)證數(shù)據(jù)庫 } location /status { stub_status on; //開啟網(wǎng)站監(jiān)控狀態(tài) access_log /usr/local/nginx/logs/www1_status.log; //監(jiān)控日志 auth_basic "NginxStatus"; } }
三、通過htpasswd命令生成用戶名及對應(yīng)密碼數(shù)據(jù)庫文件。
[root@rhel6u3-7 server]# htpasswd -c /usr/local/nginx/passwd.db xiaonuo //創(chuàng)建認(rèn)證信息,xiaonuo 為認(rèn)證用戶名 New password: ******* //輸入認(rèn)證密碼 Re-type new password: ******** //再次輸入認(rèn)證密碼 Adding password for user xiaonuo [root@rhel6u3-7 server]# [root@rhel6u3-7 ~]# chmod 400 /usr/local/nginx/passwd.db //修改網(wǎng)站認(rèn)證數(shù)據(jù)庫權(quán)限 [root@rhel6u3-7 ~]# chown nginx. /usr/local/nginx/passwd.db //修改網(wǎng)站認(rèn)證數(shù)據(jù)庫屬主和屬組 [root@rhel6u3-7 ~]# cat /usr/local/nginx/passwd.db //可以看到通過htpasswd生成的密碼為加密格式 xiaonuo:8eZAz7BqcrXmY [root@rhel6u3-7 ~]#
四、平滑重啟nginx服務(wù)
[root@rhel6u3-7 ~]# /etc/rc.d/init.d/nginx reload //平滑重啟nginx服務(wù) 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服務(wù)器上添加www1 A記錄
www1 A 192.168.100.107
六、通過IE訪問www1.rsyslog.org進(jìn)行測試。
別忘了將網(wǎng)卡首選DNS指向192.168.100.102
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
使用nginx+tomcat+keepalived實現(xiàn)高可用的詳細(xì)步驟
這篇文章主要介紹了nginx+tomcat+keepalived實現(xiàn)高可用,包括安裝nginx服務(wù)的步驟,詳細(xì)介紹了安裝keepalived的方法,對nginx+tomcat+keepalived高可用相關(guān)知識感興趣的朋友一起看看吧2022-03-03nginx 作為反向代理實現(xiàn)負(fù)載均衡的例子
以下我們就來舉例說明如何使用 nginx 實現(xiàn)負(fù)載均衡。因為nginx在處理并發(fā)方面的優(yōu)勢,現(xiàn)在這個應(yīng)用非常常見。2010-12-12使用Nginx+Tomcat實現(xiàn)負(fù)載均衡的全過程
很多用到nginx的地方都是作為靜態(tài)伺服器,這樣可以方便緩存那些靜態(tài)文件,比如CSS,JS,html,htm等文件,下面這篇文章主要給大家介紹了關(guān)于使用Nginx+Tomcat實現(xiàn)負(fù)載均衡的相關(guān)資料,需要的朋友可以參考下2022-05-05