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            //直接訪問


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章