![如何在 Apache 中创建虚拟主机以避免缓存中毒](https://linux22.com/image/713152/%E5%A6%82%E4%BD%95%E5%9C%A8%20Apache%20%E4%B8%AD%E5%88%9B%E5%BB%BA%E8%99%9A%E6%8B%9F%E4%B8%BB%E6%9C%BA%E4%BB%A5%E9%81%BF%E5%85%8D%E7%BC%93%E5%AD%98%E4%B8%AD%E6%AF%92.png)
为了避免缓存中毒,我被要求在我的 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