我有一个通过 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