在 Apache2 中,是否可以将绑定VirtualHost
到与其他虚拟主机或服务器的默认Listen
地址不同的 IP 接口?
目标是拥有一个通过 VPN 接口为一些公共站点提供服务的 Web 服务器,同时也为一些内部站点提供服务。
我想另一种方法是制作一个.htaccess
文件,要求除 VPN 源地址之外的所有人输入密码,但我真的希望在这方面格外小心,并且首先不要让网站公开访问。
提前非常感谢您!
答案1
为什么不尝试这样做(如果您有权访问 apache2 conf 文件,可以吗?)
<VirtualHost 111.22.33.55:8080>
ServerName www-cache.domain.tld
...
<Directory proxy:>
Order Deny,Allow
Deny from all
Allow from 111.22.33 (IP OF THE VPN CONN)
</Directory>
</VirtualHost>
答案2
您必须Listen
在所有 vhost 可见的接口和端口上进行设置。然后地址部分将限制VirtualHost
哪个地址为哪个站点提供服务。基于命名的 vhost 的安全性更高,因为 URL 中的服务器名称将进一步强制执行哪些内容来自哪个地址。