Nginx基於域名的虛擬主機
Nginx基於域名的虛擬主機
1.1 問題
沿用練習二,配置基於域名的虛擬主機,實現以下目標:
實現兩個基於域名的虛擬主機,域名分別為www.aa.com和www.bb.com
對域名為www.aa.com的站點進行用戶認證,用戶名稱為tom,密碼為123456
1.2 方案
修改Nginx配置文件,添加server容器實現虛擬主機功能;對於需要進行用戶認證的虛擬主機添加auth認證語句。
3.3 步驟
實現此案例需要按照如下步驟進行。
步驟一:修改配置文件
1)修改Nginx服務配置,添加相關虛擬主機配置如下
[root@Proxy ~]# 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 html; //指定網站根路徑
index index.html index.htm;
}
}
… …
server {
listen 80; //端口
server_name www.bb.com; //域名
location / {
root www; //指定網站根路徑
index index.html index.htm;
}
}
2)創建賬戶及密碼
[root@Proxy ~]# htpasswd –cm /usr/local/nginx/pass tom //創建賬戶密碼文件
New password:
Re-type new password:
Adding password for user tom
3)創建網站根目錄及對應首頁文件
[root@Proxy ~]# mkdir /usr/local/nginx/www
[root@Proxy ~]# echo "www" > /usr/local/nginx/www/index.html
4)重啟nginx服務
[root@Proxy ~]# /usr/local/nginx/sbin/nginx –s reload
步驟二:客戶端測試
1)修改客戶端主機192.168.4.100的/etc/hosts文件,進行域名解析
[root@client ~]# vim /etc/hosts
192.168.4.5 www.aa.com www.bb.com
2)登錄192.168.4.100客戶端主機進行測試
註意:SSH –X遠程連接調用虛擬機的firefox時,請先關閉真實機的firefox。
[root@client ~]# firefox http://www.aa.com //輸入密碼後可以訪問
[root@client ~]# firefox http://www.bb.com //直接訪問
Nginx基於域名的虛擬主機