如何在Apache中创build虚拟虚拟主机以避免caching中毒

为了避免caching中毒,我被要求在我的Apache Web服务器上创build一个虚拟的虚拟主机,以便所有伪造的请求(实际上并不涉及到我的应用程序)都会去虚拟的虚拟主机。

以下是我目前的虚拟主机:

<VirtualHost *:*> DocumentRoot "cache location" ServerName myappname </virtualHost> 

我试图创build一个虚拟的虚拟主机,服务器名称为*,并具有不同的caching位置。 这是我试过的:

 <VirtualHost *:*> DocumentRoot "another cache location" ServerName * </virtualHost> 

我如何testing我的虚拟虚拟主机configuration的工作原理,是否需要修改我的configuration?

据我所知设置*作为ServerName将只匹配一个文字*作为主机名,并没有没有预期的通配符匹配…

您的虚拟虚拟主机VirtualHost条目将响应任何和所有不符合任何明确configuration的特定域名的未限定请求,这应该由您的configuration中的第一个VirtualHost条目进行响应。

 <VirtualHost *:80> # This is the first and will handle anything that is not example.[com | net | org] ... </VirtualHost> <VirtualHost *:80> ServerName example.com ... </VirtualHost> <VirtualHost *:80> ServerName example.net ... </VirtualHost> <VirtualHost *:80> ServerName example.org ... </VirtualHost> 

这个答案的第二部分有一个默认的VirtualHOST适当的设置: https : //serverfault.com/a/662356/37681