1. 程式人生 > >Nginx基於域名的虛擬主機

Nginx基於域名的虛擬主機

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基於域名的虛擬主機