如何在 Apache 中创建虚拟主机以避免缓存中毒

如何在 Apache 中创建虚拟主机以避免缓存中毒

为了避免缓存中毒,我被要求在我的 Apache Web 服务器上创建一个虚拟虚拟主机,以便所有伪造的请求(实际上与我的应用程序无关)都会转到虚拟虚拟主机。

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

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

我正在尝试创建一个虚拟虚拟主机,服务器名称为 *,缓存位置不同。这是我尝试的:

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

我如何测试我的虚拟主机配置是否有效,以及我是否需要修改我的配置?

答案1

据我所知,将 * 设置为 ServerName 只会与*主机名的文字匹配,并且不会进行预期的通配符匹配...

您的虚拟虚拟主机,即 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

相关内容