詳解Nginx實(shí)戰(zhàn)之讓用戶通過(guò)用戶名密碼認(rèn)證訪問(wèn)web站點(diǎn)
有時(shí)我們會(huì)有這么一種需求,就是你的網(wǎng)站并不想提供一個(gè)公共的訪問(wèn)或者某些頁(yè)面不希望公開(kāi),我們希望的是某些特定的客戶端可以訪問(wèn)。那么我們可以在訪問(wèn)時(shí)要求進(jìn)行身份認(rèn)證,就如給你自己的家門(mén)加一把鎖,以拒絕那些不速之客。
實(shí)驗(yàn)環(huán)境:
現(xiàn)在公司開(kāi)通了一個(gè)內(nèi)部使用網(wǎng)站為www1.rsyslog.org,要求所有人查看網(wǎng)頁(yè)信息之前都必須要輸入內(nèi)定的用戶名及密碼方可瀏覽網(wǎng)頁(yè)
使用nginx下虛擬主機(jī)的搭建
www1.rsyslog.org進(jìn)行測(cè)試。
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)核版本號(hào) 2.6.32-279.el6.i686 [root@rhel6u3-2 ~]# cat /etc/redhat-release //查看系統(tǒng)版本號(hào) Red Hat Enterprise Linux Server release 6.3 (Santiago)
二、編輯虛擬主機(jī)配置文件
[root@rhel6u3-7 ~]# vim /usr/local/nginx/conf/nginx.conf //主配置文件中http字段中添加以下語(yǔ)句,將虛擬主機(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)聽(tīng)端口為80
server_name www1.rsyslog.org; //虛擬主機(jī)網(wǎng)址
location / {
root sites/www1; //虛擬主機(jī)網(wǎng)站根目錄
index index.html index.htm; //虛擬主機(jī)首頁(yè)
auth_basic "secret"; //虛擬主機(jī)認(rèn)證命名
auth_basic_user_file /usr/local/nginx/passwd.db; //虛擬主機(jī)用戶名密碼認(rèn)證數(shù)據(jù)庫(kù)
}
location /status {
stub_status on; //開(kāi)啟網(wǎng)站監(jiān)控狀態(tài)
access_log /usr/local/nginx/logs/www1_status.log; //監(jiān)控日志
auth_basic "NginxStatus"; }
}
三、通過(guò)htpasswd命令生成用戶名及對(duì)應(yīng)密碼數(shù)據(jù)庫(kù)文件。
[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ù)庫(kù)權(quán)限 [root@rhel6u3-7 ~]# chown nginx. /usr/local/nginx/passwd.db //修改網(wǎng)站認(rèn)證數(shù)據(jù)庫(kù)屬主和屬組 [root@rhel6u3-7 ~]# cat /usr/local/nginx/passwd.db //可以看到通過(guò)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
六、通過(guò)IE訪問(wèn)www1.rsyslog.org進(jìn)行測(cè)試。
別忘了將網(wǎng)卡首選DNS指向192.168.100.102

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Ubuntu安裝Nginx全過(guò)程(在線安裝&源碼編譯安裝)
介紹了在Ubuntu 20.04上安裝Nginx的兩種方式:apt安裝和源碼編譯安裝,apt安裝簡(jiǎn)單,但模塊有限;源碼編譯安裝可以自定義模塊,更靈活2025-03-03
openssl?生成nginx自簽名證書(shū)的實(shí)現(xiàn)
本文主要介紹了openssl?生成nginx自簽名證書(shū)的實(shí)現(xiàn),主要包括openssl?req命令的使用方法,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2024-12-12
nginx反向代理配置400,404,502等狀態(tài)的自定義頁(yè)面問(wèn)題
這篇文章主要介紹了nginx反向代理配置400,404,502等狀態(tài)的自定義頁(yè)面問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-01-01
nginx 訪問(wèn)限制與訪問(wèn)控制的實(shí)現(xiàn)
訪問(wèn)控制要做的事情是控制客戶端的資源訪問(wèn)權(quán)限,本文主要介紹了nginx 訪問(wèn)限制與訪問(wèn)控制的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2024-02-02
如何利用map實(shí)現(xiàn)Nginx允許多個(gè)域名跨域
這篇文章主要給大家介紹了關(guān)于如何利用map實(shí)現(xiàn)Nginx允許多個(gè)域名跨域的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-10-10

