Windows 2008 服务器和 Redhat 只有 1 个 IP 地址,Windows 可以路由流量吗?

Windows 2008 服务器和 Redhat 只有 1 个 IP 地址,Windows 可以路由流量吗?

我设置了两台家庭服务器虚拟机。Windows 2008 服务器在端口 80 上,Centos/Redhat 在端口 8080 上。两者都具有指向它们的单独的 godaddy 域名 A 名称记录。但我无法将两个域都指向同一个 IP,我在家里只有 1 个 wan ip 地址。因此,我的一个域名转发到我的 IP:8080。我的问题是:我的 windows 服务器是否可以将某个域名重定向到我的 Linux 服务器的端口 8080 上?因此,我将 mysite1.com 转到 windows,将 mysite2.com 也转到 windows 服务器,但 windows 会将 mysite2.com 流量重定向到 linux ip 地址:8080。我想在工作时访问这两个站点,但我的工作防火墙很严格,不允许从 godaddy 进行域名转发。

答案1

我的理解是,您的路由器已经将端口 80 转发到 Windows,将端口 8080 转发到 Linux。现在,您正在尝试解决人们在输入 Linux 服务器的域名时没有输入“:8080”以及流​​量流向 Windows 的问题。

解决方案是在 IIS 中创建两个网站,并将它们设置为监听同一个 IP 地址。唯一的区别是主机标头。这样,当 Web 流量到达 IIS 时,它将查看 URL 并根据域名将流量引导到正确的网站。以下是有关创建主机标头的 TechNet 文章。 http://technet.microsoft.com/en-us/library/cc753195(v=ws.10).aspx

完成后,您需要做的就是设置所有到 IIS Linux 网站的流量重定向到 http://Linux域名:8080您可以用 HTML 编写重定向页面,也可以使用 IIS 中的“HTTP 重定向”模块。 http://technet.microsoft.com/en-us/library/cc770409(v=ws.10).aspx

希望这可以帮助...

-乔

答案2

您说的是反向代理。IIS 似乎可以做到这一点,但我没有使用 IIS 的经验。用 Apache 术语来说,您需要使用代理模块,每个域(mysite1.com 和 mysite2.com)都有一个 VirtualHost。然后,反向代理根据原始请求发送到哪个 VirtualHost 向每个服务器(Windows 或 CentOS/RedHat 框)发出请求。

用户(或您)在浏览器中输入您想要的任何地址(mysite1.com 或 mysite2.com),该浏览器连接到反向代理。反向代理使用 HTTP“主机”标头来确定需要返回哪个站点,并担心端口。远程用户永远不会知道 CentOS/RedHat 框实际上正在监听 8080。

如果你在谷歌上搜索iis reverse proxy

答案3

当然,您可以让两个 A 记录指向同一个 IP 地址。在您的路由器/防火墙上,您将配置端口转发,以便端口 80 转到一个服务器,端口 8080 转到另一个服务器。

到 xxxx:80 的传入流量将转至一台服务器,而到 xxxx:8080 的流量将转至另一台服务器。

相关内容