6

我是一名从事家庭网络开发业务的网络程序员。我家中有多个通过 FIOS 连接的 Web 服务器。我有自己的域通过 dyndns.org 的自定义域服务指向我的路由器。

我的 ISP 给了我一个静态 IP 地址,目前允许我将路由器配置为通过端口 80 引导来自一台服务器的出站 Web 流量,并通过端口 8080 引导另一台服务器的出站 Web 流量。这很糟糕,因为如今许多公司封锁了端口 8080,导致一些我的企业客户无法访问我的第二个 Web 服务器。

我有什么方法可以使用两个单独的主机名将常规的旧端口 80 网络流量定向到我网络内部的两个单独的网络服务器?

例如。我想http://webserver1.mydomain.com在我的网络上访问一个 Web 服务器,然后http://webserver2.mydomain.com访问另一个 Web 服务器并在端口 80 上提供两组流量。

这甚至可能吗?如果没有,我可以通过以编程方式将流量从一个 Web 服务器透明地路由到另一个来进行黑客攻击吗?

作为记录,我运行 MS Windows Server 2008 IIS 7.0 堆栈,一个 D-link DIR-655 路由器,并使用 DynDNS 来满足我的域需求。

4

6 回答 6

7

您寻找的解决方案的名称称为反向代理。
apachesquidMircosoft ISA Server中有实现。

如果你喜欢冒险,你总是可以自己动手?或修改类似的内容以满足您的需求。

我有客户使用大量的 squid 反向代理,而且效果很好!

虽然它确实会破坏您在网络服务器上的网络日志,但流量似乎都来自您正在进行重定向/重写的内部代理主机。

于 2009-01-16T06:39:51.370 回答
2

是的,使用 IIS7 的 Rewrite 模块来执行此操作

于 2009-01-16T06:27:26.387 回答
1

某种应用层路由可能是您的选择。本文指出如何在 ISA 服务器上进行操作(使用 web 规则)

http://www.codinghorror.com/blog/archives/000984.html

于 2009-01-16T06:30:13.743 回答
1

您也许可以使用 2 个虚拟主机设置 apache,然后在它们的每个块中放置本地网络上相应站点的代理:

在虚拟主机 1 中:

ProxyRequests Off

<Proxy *>
Order deny,allow
Allow from all
</Proxy>

ProxyPass / http://192.168.0.49/
ProxyPassReverse / http://192.168.0.49/

在虚拟主机 2 中:

ProxyRequests Off

<Proxy *>
Order deny,allow
Allow from all
</Proxy>

ProxyPass / http://192.168.0.50/
ProxyPassReverse / http://192.168.0.50/

你需要mod_proxy,我什至不确定这是否可行

于 2009-01-16T06:38:05.647 回答
0

为什么不保持简单,只需在您的帐户上订购或请求第二个 IP 地址?这似乎是一个比复杂的硬件和/或软件设置更容易的解决方案。只是不要告诉他们您正在托管网站,因为 ISP 通常不喜欢人们在住宅帐户上这样做(我实际上很惊讶他们没有阻止端口 80)。

于 2009-01-16T07:31:18.380 回答
0

这是一个旧帖子,但我有同样的问题。Verizon 只给你 1 个 ip。如果你想要更多,你必须使用他们的商业计划,每月大约 100 美元。我有一个 redhat 和 windows 2008r2 家庭服务器正在运行。我有 2 个godaddy 域名都指向我的verizon wan ip 地址。我的 windows 服务器为 mysite1.com 使用端口 80,为 mysite2.com 使用我的 linux 端口 8080。我不使用 DYN,因为我想使用自己的域名。我制作了一个 IIS 站点主机头来将 mysite2.com 指向我的 linux 机器。这两个域都可以在线工作,但在浏览器 url 窗口中输入 mysite2.com 会指向 mysite2.com:8080。我认为没有办法隐藏 8080。至少不正确。我在一家政府机构工作,他们阻止使用端口 8080 的站点。他们还阻止使用掩码/帧转发的域。所以屏蔽 8080 会导致你的网站被屏蔽。

于 2012-12-20T23:14:21.133 回答