您的位置:首页 > 理论基础 > 计算机网络

基于FQDN虚拟主机的实现

2017-10-19 10:31 134 查看

一、虚拟主机实现原理

注意: 谁顺序排第一,谁就是默认站点

1.虚拟主机

即实现一个httpd服务器,可以对多个站点提供服务


2.实现方法——IP

将IP地址和站点路径相关联


3.实现方法——port

将端口号和站点路径相关联


4.实现方法——FQDN

将网站地址和站点路径相关联
通过http报文首部实现
首部写了网站地址


二、实现

1.准备站点路径及访问的主页面

网站名站点路径
www.a.com/var/www_a/html/
www.b.com/var/www_b/html/
mkdir /var/www_a/html -p
echo "this is www.a.com" >> /var/www_a/html/index.html
mkdir /var/www_a/html/log/
mkdir /var/www_b/html -p
echo "this is www.b.com" >> /var/www_b/html/index.html
mkdir /var/www_b/html/log/


2.配置文件

vim /etc/httpd/conf.d/fqdn.conf
NameVirtualHost *:80
<VirtualHost *:80>
DocumentRoot /var/www_a/html
ServerName www.a.com
ErrorLog /var/www_a/html/log/error_log
CustomLog /var/www_a/html/log/access_log common
</VirtualHost>
<VirtualHost *:80>
DocumentRoot /var/www_b/html
ServerName www.b.com
ErrorLog /var/www_b/html/log/error_log
CustomLog /var/www_a/html/log/access_log common
</VirtualHost>


3.注意

在httpd2.2版本中,如果要使用FQDN的虚拟主机技术
必须声明开启此功能
NameVirtualHost *:80
在/etc/httpd/conf/httpd.conf中
或/etc/httpd/conf.d/*.conf中声明即可


三、测试

1.测试机的地址解析配置

vim /etc/hosts #添加
172.17.16.169 www.a.com www.b.com


2.测试结果



3.服务器端日志记录

[root@localhost /etc/httpd/conf.d]$ tail -n 2 -f /var/www_a/html/log/access_log
172.17.16.173 - - [16/Oct/2017:15:53:21 -0400] "GET / HTTP/1.1" 200 18
172.17.16.173 - - [16/Oct/2017:15:53:28 -0400] "GET / HTTP/1.1" 200 18
172.17.16.173 - - [16/Oct/2017:15:58:12 -0400] "GET / HTTP/1.1" 200 18
172.17.16.173 - - [16/Oct/2017:15:58:13 -0400] "GET / HTTP/1.1" 200 18
172.17.16.173 - - [16/Oct/2017:15:58:22 -0400] "HEAD / HTTP/1.1" 200 -
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息