我有一个公共 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 就是这样做的。