解决方案

解决方案

我有一个公共 IP 和一些指向它的主机名,在这个公共 IP 服务器上,我运行着其他内联网接口apache 虚拟主机服务器,我的问题是如何将外部请求转发到这些接口?

在公共 IP 机器上运行的简单 apache 虚拟主机上,我可以轻松地通过/etc/hosts以下方式进行编辑

127.0.0.1 mysite.com
127.0.0.1 blog.mysite.com

但由于某些原因,它不适用于内联网接口

172.17.0.1 mysite.com
172.17.0.2 blog.mysite.com
172.17.0.2 news.mysite.com

ps: 每个 IP 上都运行一个 apache 服务器

我简单得到ERR_CONNECTION_REFUSED,如果 ping 它,我得到服务器 IP,所以公共 DNS 正在工作

你能帮助我吗?

答案1

解决方案

几个小时后我找到了答案,非常简单:

你需要另一个阿帕奇实例或任何类似的东西在端口上运行80,并创建虚拟主机来将主机名解析为内联网 ips。

更多解释

如果我有阿帕奇在其他内联网 IP 中运行,它们在公共 IP 上不可见,如果有人访问,myhost.com他将被指向0.0.0.0:80(公共 IP),因此在这个端口中,您需要有一些理解请求并将其转发到相应内部主机的服务,apache 就是这样做的。

相关内容