基于域名的虚拟主机

  1. 实现两个基于域名的虚拟主机,域名分别为www.a.com和www.b.com
  2. 对域名为www.a.com的站点进行用户认证,用户名称为tom,密码为123456
    3.2 方案
    修改Nginx配置文件,添加server容器实现虚拟主机功能;对于需要进行用户认证的虚拟主机添加auth认证语句。
    虚拟主机一般可用分为:基于域名、基于IP和基于端口的虚拟主机。
    3.3 步骤
    实现此案例需要按照如下步骤进行。
    步骤一:修改配置文件
    1)修改Nginx服务配置,添加相关虚拟主机配置如下
  3. [root@proxy ~]# vim /usr/local/nginx/conf/nginx.conf
  4. … …
  5. server {
  6.      listen       80;                                      //端口
    
  7.      server_name  www.a.com;                                //域名
    
  8. auth_basic “Input Password:”; //认证提示符
  9.      auth_basic_user_file "/usr/local/nginx/pass";        //认证密码文件
    
  10. location / {
  11.          root   html;                                    //指定网站根路径
    
  12.         index  index.html index.htm;
    
  13.    }
    
  14. }
  15. … …
  16. server {
    
  17.     listen  80;                                        //端口
    
  18.     server_name  www.b.com;                                //域名
    
  19. location / {
  20. root www; //指定网站根路径
  21. index index.html index.htm;
  22. }
  23. }
    2)创建网站根目录及对应首页文件
  24. [root@proxy ~]# mkdir /usr/local/nginx/www
  25. [root@proxy ~]# echo “www” > /usr/local/nginx/www/index.html
    3)重启nginx服务
  26. [root@proxy ~]# /usr/local/nginx/sbin/nginx -s reload
  27. #请先确保nginx是启动状态,否则运行该命令会报错,报错信息如下:
  28. #[error] open() “/usr/local/nginx/logs/nginx.pid” failed (2: No such file or directory)
    步骤二:客户端测试
    1)修改客户端主机192.168.4.10的/etc/hosts文件,进行域名解析
  29. [root@client ~]# vim /etc/hosts
  30. 192.168.4.5 www.a.com www.b.com
    2)登录192.168.4.10客户端主机进行测试
    注意:请先关闭真实机的firefox,再SSH -X远程连接调用虚拟机的firefox。
  31. [root@client ~]# firefox http://www.a.com //输入密码后可以访问
  32. [root@client ~]# firefox http://www.b.com //直接访问
    提示:或者直接使用真实主机做客户端主机验证,修改真实主机的/etc/hosts文件,直接使用真实主机的火狐浏览器访问也可以。
    步骤三:扩展课外实验:其他类型的虚拟主机
    1.基于端口的虚拟主机(参考模板)
  33. server {
  34.      listen       8080;                        //端口
    
  35.      server_name  web1.example.com;          //域名
    
  36.      ......
    
  37. }
  38.  server {
    
  39.      listen       8000;                         //端口
    
  40.      server_name  web1.example.com;           //域名
    
  41.    .......
    
  42. }
    2.基于IP的虚拟主机(参考模板)
  43. server {
  44.      listen       192.168.0.1:80;              //IP地址与端口
    
  45.      server_name  web1.example.com;          //域名
    
  46. … …
  47. }
  48.  server {
    
  49.      listen       192.168.0.2:80;             //IP地址与端口
    
  50.      server_name  web1.example.com;
    
  51. … …
  52. }

你可能感兴趣的:(基于域名的虚拟主机)