Apache 配置为在 NAT 防火墙后面提供来自其他本地机器的页面

Apache 配置为在 NAT 防火墙后面提供来自其他本地机器的页面

我有一个通过 NAT 调制解调器链接到 Ubuntu 上的 Apache 的公共 IP 地址。如何配置 Apache 以提供来自其他位于同一 NAT 调制解调器后面的机器的页面?(我不想让这些其他机器可直接从互联网访问。)

答案1

我正在为此使用 apache 代理。

将请求代理到另一个 Web 服务器的虚拟主机配置示例如下:

    <VirtualHost *:80>
         ServerName example.com

         ProxyRequests Off
         ProxyPreserveHost On
         ProxyPass / http://secondapache/
         ProxyPassReverse / http://secondapache/
    </VirtualHost>

其中“secondapache”需要可解析,或者您可以使用IP地址,只需确保在ProxyPass和ProxyPassReverse行中它是相同的(不要忘记那些http://和/)

还需要 ProxyPreserveHost On,以便第二个网络服务器获取用户在浏览器中输入的真实主机名。

这是针对 apache HTTP 反向代理的,您也可以使用例如 varnish 来配置 HTTP 反向代理。

另一种方法就是简单地使用 NAT:

iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination secondapacheIP:80

相关内容