wadada 发表于 2017-11-9 13:18:53

Nginx基于域名的虚拟主机

                      Nginx基于域名的虚拟主机
1.1 问题

沿用练习二,配置基于域名的虚拟主机,实现以下目标:

    实现两个基于域名的虚拟主机,域名分别为www.aa.com和www.bb.com
    对域名为www.aa.com的站点进行用户认证,用户名称为tom,密码为123456

1.2 方案

修改Nginx配置文件,添加server容器实现虚拟主机功能;对于需要进行用户认证的虚拟主机添加auth认证语句。
3.3 步骤

实现此案例需要按照如下步骤进行。

步骤一:修改配置文件

1)修改Nginx服务配置,添加相关虚拟主机配置如下

    # vim /usr/local/nginx/conf/nginx.conf
    .. ..
    server {
            listen       80;                                    //端口
            server_namewww.aa.com;                            //域名
    auth_basic "Input Password:";                        //认证提示符
            auth_basic_user_file "/usr/local/nginx/pass";      //认证密码文件
    location / {
                root   html;                                    //指定网站根路径
                indexindex.html index.htm;
         }

    }
    … …
      server {
            listen80;                                        //端口
            server_namewww.bb.com;                            //域名
    location / {
    root   www;                                 //指定网站根路径
    indexindex.html index.htm;
    }
    }

2)创建账户及密码

    # htpasswd –cm/usr/local/nginx/passtom      //创建账户密码文件
    New password:
    Re-type new password:
    Adding password for user tom

3)创建网站根目录及对应首页文件

    # mkdir /usr/local/nginx/www
    # echo "www" > /usr/local/nginx/www/index.html

4)重启nginx服务

    # /usr/local/nginx/sbin/nginx –s reload

步骤二:客户端测试

1)修改客户端主机192.168.4.100的/etc/hosts文件,进行域名解析

    # vim /etc/hosts
    192.168.4.5    www.aa.com www.bb.com

2)登录192.168.4.100客户端主机进行测试

注意:SSH –X远程连接调用虚拟机的firefox时,请先关闭真实机的firefox。

    # firefox http://www.aa.com            //输入密码后可以访问
    # firefox http://www.bb.com            //直接访问

                  

页: [1]
查看完整版本: Nginx基于域名的虚拟主机