将 VirtualHost 绑定到网络接口

将 VirtualHost 绑定到网络接口

在 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 中的服务器名称将进一步强制执行哪些内容来自哪个地址。

相关内容