码迷,mamicode.com
首页 > 其他好文 > 详细

实现基于FQDN虚拟主机

时间:2017-10-22 11:02:28      阅读:303      评论:0      收藏:0      [点我收藏+]

标签:linux、http

实现基于FQDN虚拟主机

环境:该实验的环境是在centos6上进行的,http的版本为2.2

步骤一:安装http2.2

直接使用yum命令安装即可

技术分享

步骤二:在/app目录下准备好存放网站主页的目录

site1,site2,site3分别对应www.a.com,www.b.com, www.c.com的主页存放目录位置,同时在三个文件夹中创建对应的主页文件index.html,并编辑主页文件

技术分享

步骤三:模拟三个DNS解析

注:该DNS解析是在用来测试的主机上添加的。

技术分享

步骤四:在/etc/httpd/conf.d目录下创建新的配置文件

vim/etc/httpd/conf.d/test.conf

技术分享

NameVirtualHost*:80 (在centos6http2.2上要启用基于FQDN的多虚拟主机必须加上这一行,也可以在主配置文件中取消注释开启该功能,在http2.4中不需要加这一行)

<virtualhost *:80> *表示所有的IP地址都可以访问)

documentroot /app/site1 (表示网站主页存放的目录,需要注意的是,要将网址与主页文件相对应)

servername  www.a.com (区分不同的网站是依靠名字来区分)

errorlog  logs/a.com.errlog (错误日志的存放文件,错误日志的日志格式不能定制)

customloglogs/a.com.accesslog combined (访问日志的存放文件,combined表示日志的格式,也可以自己定义)

</virtualhost>

 

<virtualhost *:80>

documentroot /app/site2

servername  www.b.com

errorlog  logs/b.com.errlog

customloglogs/b.com.accesslog combined

</virtualhost>

 

<virtualhost *:80>

documentroot /app/site3

servername  www.c.com

errorlog  logs/c.com.errlo

customloglogs/c.com.accesslog combined

</virtualhost>

步骤五:关闭防火墙及SELinux策略

如果缺少步骤五则会访问失败

技术分享

步骤六:开启服务

技术分享

步骤七:测试

可在另外的主机上测试,但是要提前配置/etc/hosts文件

技术分享

原理解析

DNS如何解析同一个IP的不同域名?

真正访问的时候http的请求报文中源地址和目标地址都是一样的,不能区分请求的不同网站,但是在http报文首部中带有访问的网址,据此来做出相应的回应,具体如下图所示:

技术分享


本文出自 “13145479” 博客,请务必保留此出处http://13155479.blog.51cto.com/13145479/1974884

实现基于FQDN虚拟主机

标签:linux、http

原文地址:http://13155479.blog.51cto.com/13145479/1974884

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!