http服务-虚拟主机的实现

来源:互联网 发布:帝国时代2非洲王朝mac 编辑:程序博客网 时间:2024/05/16 17:53

  上篇文章介绍了http协议的基于用户的访问控制实现,当然httpd服务还有更重要的功能,就是虚拟主机的实现。我们可以通过设置虚拟主机实现不同的方式访问http,可以得到不同的反馈,这是http服务重要的一点。
虚拟主机的实现有三种方法:
  基于ip:端口为默认端口,ip地址不同
  基于端口:IP地址相同,端口号不同
  基于FQDN全称域名

实现方案:
  基于ip:为每个虚拟主机准备至少一个IP地址
  基于端口:为每个虚拟主机使用至少一个端口号
  基于FQDN:为每个虚拟主机使用至少一个FQDN

【实验】基于IP地址的虚拟主机实现
实验条件:centos6主机配置,centos7测试

1、首先准备好3个地址的不同访问主页,以便于区分。
这里写图片描述

2、为了修改方便,在/etc/httpd/conf.d/目录下创建ip.conf子配置文件
只是IP地址不同,访问端口相同
这里写图片描述

3、当然想要实现,提前也要拥有这几个地址:
这里写图片描述

4、重新加载http文件,使用客户端分别访问三个地址,会得到不同的主页,证明基于ip地址的虚拟主机实现成功。
这里写图片描述

【实验】基于端口的虚拟主机实现
1、基于端口的虚拟主机首先要保证的是IP地址相同,只是监听端口不同;这里可以自定义端口号,需要注意的是:0-1023端口仅管理员可以使用,普通用户没有权限。
需要在配置文件中首先声明监听这些端口,然后在进行配置:
这里写图片描述

2、访问在ip地址相同的情况下不同端口的主页面,得到三个不同页面,证明基于端口的虚拟主机的实现成功。
这里写图片描述

【实验】基于FQDN的虚拟主机实现
1、基于全称域名解析的虚拟主机是使用较多的一种方法,用户访问不同的域名得到不同的主页,从用户体验方面来说比较好。
配置文件中首先需要声明namevirtualhost 监听80端口:
其次与上面配置不同的是需要再加一行关键字servername来分别定义:
这里写图片描述

2、在虚拟机中,我们为了测试在名字解析文件中加入三个servername:
这里写图片描述

3、分别访问三个FQDN地址,得到不同的主站点页面:
这里写图片描述

4、上述所说配置都是必要的字段配置,当然在配置文件中我们也可以定义其他的关键字来使得服务更加完善。例如:定义日志文件的存放路径和格式:
这里写图片描述

分别定义访问日志和错误日志,更加容易查看:
这里写图片描述

使用tail -f 动态监控日志文件:
这里写图片描述

原创粉丝点击