有很多平时喜欢钻研的童鞋会发现,为什么有时候自己访问某XXse网站时,总是更新IP地址,内容却与以前一样。这个时候就要了解虚拟主机的概念了。了解这个概念,能够帮助运维同学,更内涵的隐藏自己的主机,或者让一台apache支持多个网站的共同运营。
参考资料:
1
2《Apache cookbook》
虚拟主机寻址方式
IP地址方式:每台虚拟主机都有其唯一的IP地址
参考资料:
1
2《Apache cookbook》
虚拟主机寻址方式
IP地址方式:每台虚拟主机都有其唯一的IP地址
名称寻址方式:多台虚拟主机会以不同的名称在同一IP地址上运行
以名称寻址的虚拟主机
使用NameVirtualHost *指令以及区块
-
ServerName 127.0.0.1
-
NameVirtualHost * #表示所设定的主机可在所有的地址上运行
-
<VirtualHost *>
-
ServerName test1.name #默认的第一个主机会接收未列出虚拟主机的请求
-
DocumentRoot "C:/Apache2.2/htdocs/test1"
-
</VirutalHost>
-
<VirtualHost *>
-
ServerName test2.name
-
DocumentRoot "C:/Apache2.2/htdocs/test2"
- </VirutalHost>
指定一台名称寻址的主机位默认服务器,并在查找不到主机时,转向默认网页
-
<VirtualHost *>
-
ServerName default
-
DocumentRoot /www/htdocs
-
ErrorDocument 404 /site.html
- </VirutualHost>
对特定主机设置多个名称
- ServerAlias www.cu.com chinaunix.cu
以IP寻址的虚拟主机
可以在系统上设定多个IP,然后各自支持某个网站
可以在系统上设定多个IP,然后各自支持某个网站
-
ServerName 127.0.0.1
-
<VirtualHost 10.0.0.1>
-
ServerName test.name
-
DocumentRoot "C:/Apache2.2/htdocs/test1"
-
</VirtualHost>
-
<VirtualHost 10.0.0.2>
-
ServerName test2.name
-
DocumentRoot "C:/Apache2.2/htdocs/test2"
- </VirutalHost>
建立IP寻址的默认虚拟主机
-
<VirtualHost _default_>
-
DocumentRoot /www/htdocs
-
</VirtualHost>
-
#_default_ 建立虚拟主机,处理所有未设定虚拟主机“地址:端口号”的请求
- #_default_ 可与端口号同时使用 _default_:443 会接受443端口号的所有未设定虚拟主机的请求
端口号寻址的虚拟主机
-
Listen 8080
-
<VirtualHost 10.0.0.1:8080>
-
DocumentRoot "C:/Apache2.2/htdocs/test_port8080"
-
</VirtualHost>
-
Listen 8081
-
<VirtualHost 10.0.0.1:8081>
-
DocumentRoot "C:/Apache2.2/htdocs/test2_port8081"
- </VirtualHost>
这种用法不常见,因为请求时,很麻烦,需要填入端口号:比如
在多个地址上显示相同的网页内容
-
NameVirtualHost 192.168.1.1
-
NameVirtualHost 170.1.2.3
-
<VirtualHost 192.168.1.1 170.1.2.3>
-
DocumentRoot "C:/Apache2.2/htdocs/test"
- </VirtualHost>