實驗1、用nginx怎麼實現用戶訪問時的認證html
1、目標nginx
經過調整Nginx服務端配置,實現如下目標:vim
訪問Web頁面須要進行用戶認證瀏覽器
用戶名爲:tom,密碼爲:123456安全
2、方案服務器
經過Nginx實現Web頁面的認證,須要修改Nginx配置文件,在配置文件中添加auth語句實現用戶認證。ide
最後使用htpasswd命令建立用戶及密碼便可,服務端:192.168.4.102,客戶端:192.168.4.101工具
3、實施步驟(nginx服務安裝見個人「搭建nginx服務」)測試
一、修改Nginx配置文件:vim /usr/local/nginx/conf/nginx.conf網站
添加兩行,紅顏色標記
server {
listen 80;
server_name localhost;
auth_basic "Input Password:"; //認證提示符
auth_basic_user_file "/usr/local/nginx/pass"; //認證密碼文件
location / {
root html;
index index.html index.htm;
}
}
二、生成密碼文件,建立用戶及密碼:使用htpasswd命令建立帳戶文件,須要確保系統中已經安裝了httpd-tools。
yum -y install httpd-tools.x86_64 //安裝工具
htpasswd -c /usr/local/nginx/pass tom //建立用戶名和密碼,後期若是增長新的用戶,不須要加-c的參數
三、測試
重啓nginx服務,在客戶端上192.168.4.101去訪問服務器
出來如上的框,輸入用戶名和密碼,驗證是否能登錄進去
實驗2、nginx基於域名的虛擬主機
1、目的
沿用上面的實驗1
配置基於域名的虛擬主機,實現如下目標:
實現兩個基於域名的虛擬主機,域名分別爲www.aa.com和www.bb.com
對域名爲www.aa.com的站點進行用戶認證,用戶名稱爲tom,密碼爲123456
2、方案
修改Nginx配置文件,添加server容器實現虛擬主機功能;對於須要進行用戶認證的虛擬主機添加auth認證語句
3、實施步驟
一、編輯配置文件:vim /usr/local/nginx/conf/nginx.conf
server {
listen 80;
server_name www.aa.com; //指定域名
auth_basic "Input Password:"; //安全的認證
auth_basic_user_file "/usr/local/nginx/pass"; //密碼文件路徑
location / {
root aa; //網站的根目錄
index index.html index.htm;
}
server {
listen 80;
server_name www.bb.com; //指定域名
location / {
root bb; //網站的根目錄
index index.html index.htm;
}
}
二、建立訪問aa網站的用戶名和密碼,上面已經建立了,不須要再建立
三、建立網站根目錄及對應首頁文件
mkdir /usr/local/nginx/aa mkdir /usr/local/nginx/bb
首頁文件本身自行建立
四、重啓nginx服務
五、客戶端測試
因爲沒有作DNS解析,故在主機192.168.4.101的/etc/hosts文件,進行域名解析
添加下面的一行記錄
192.168.4.102 www.aa.com www.bb.com
而後在瀏覽器裏面輸入兩個域名來進行測試,獲得不一樣的頁面