NameVirtualHost *:80
<VirtualHost 192.168.0.121:80>
ServerAdmin cozo@etang.com
DocumentRoot "c:/wamp/www/test_perl"
ServerName www.somedomain.com
</VirtualHost>
<VirtualHost 192.168.0.120:80>
ServerAdmin cozo@etang.com
DocumentRoot "c:/wamp/www/stats"
ServerName www.apachestats.com
</VirtualHost>
做如上的虚拟主机定义以后,所有发往.121的请求会由绑定该IP的虚拟主机来处理(如果有多个虚拟主机的话),如果没有符合的域名,则使用第一个虚拟主机(该IP的)。所有发往.120的请求由绑定120的虚拟主机来处理。如果使用localhost或者127.0.0.1来访问,所有的虚拟主机都不符合,就会使用全局定义里面的DocRoot来应答。
如果只有一个IP地址,也符合上面的描述。
如果上面的VirtualHost后面绑定的是*:80,则所有的请求都会查找该虚拟域名,如果都没有,则使用第一个虚拟主机的配置。
安全方面:
如果将所有的网站文件都存放在一个大目录下,则应该在该目录下建两个子目录,使用Directory的定义让这两个子目录一个限制可访问的IP,一个没有限制。基目录权限是可以继承的。
所有公开的网站放到公开的目录之中,并为其定义虚拟主机,而无须再定义目录权限,除非有特别需要(比如CGI权限)。所有不能公开的网站放到限制的目录之中,并为其定义虚拟主机。
最后定义一个非法域名的虚拟主机,绑定*:80,放在第一个虚拟主机位置上,并在其目录内放置一个错误页面或者是自己常用的目录,这样使用任意能够找到该机器的IP地址来访问就可以到达这个目录。
<VirtualHost 192.168.0.121:80>
ServerAdmin cozo@etang.com
DocumentRoot "c:/wamp/www/test_perl"
ServerName www.somedomain.com
</VirtualHost>
<VirtualHost 192.168.0.120:80>
ServerAdmin cozo@etang.com
DocumentRoot "c:/wamp/www/stats"
ServerName www.apachestats.com
</VirtualHost>
做如上的虚拟主机定义以后,所有发往.121的请求会由绑定该IP的虚拟主机来处理(如果有多个虚拟主机的话),如果没有符合的域名,则使用第一个虚拟主机(该IP的)。所有发往.120的请求由绑定120的虚拟主机来处理。如果使用localhost或者127.0.0.1来访问,所有的虚拟主机都不符合,就会使用全局定义里面的DocRoot来应答。
如果只有一个IP地址,也符合上面的描述。
如果上面的VirtualHost后面绑定的是*:80,则所有的请求都会查找该虚拟域名,如果都没有,则使用第一个虚拟主机的配置。
安全方面:
如果将所有的网站文件都存放在一个大目录下,则应该在该目录下建两个子目录,使用Directory的定义让这两个子目录一个限制可访问的IP,一个没有限制。基目录权限是可以继承的。
所有公开的网站放到公开的目录之中,并为其定义虚拟主机,而无须再定义目录权限,除非有特别需要(比如CGI权限)。所有不能公开的网站放到限制的目录之中,并为其定义虚拟主机。
最后定义一个非法域名的虚拟主机,绑定*:80,放在第一个虚拟主机位置上,并在其目录内放置一个错误页面或者是自己常用的目录,这样使用任意能够找到该机器的IP地址来访问就可以到达这个目录。