我必须使用 Apache 2 管理一个 Web 服务器来提供一些不同的网站 - 每个网站都有自己的域名。该服务器有一个 IP 地址,例如:78.9.10.11。对于每个网站,VirtualHost 的定义如下:
<VirtualHost *:80>
ServerName mydomain.com
ServerAlias *.mydomain.com
....
</VirtualHost>
它工作正常,但有一个配置问题:如果有人尝试通过其 IP 地址访问服务器(http://78.9.10.11),第一个 VirtualHost 被交付——这不是我想要的。相反,应该阻止访问或提供特殊网站(以呈现某种错误消息)。服务器应该只通过域名交付网站。
如何定义用于基于 IP 的访问的 VirtualHost?
答案1
<VirtualHost 78.9.10.11>
....
</VirtualHost>
在该块内提供您的自定义错误页面(或其他内容)。
答案2
确保VirtualHost
配置文件中出现的第一个内容如下
<VirtualHost *:80>
ServerName not.configured
DocumentRoot /var/www/notconfigured
...
</VirtualHost>
然后创建一个index.html
包含/var/www/notconfigured
您想要的消息