我有一台机器运行VisualSVN服务器的SCM和IIS,它承载一个Web前端来执行一些存储库pipe理任务。 理想情况下,我想绑定一个不同的域名到每个,但似乎我不能做到这一点,至less在一个名称上指定一个端口。 对于所有的意图和目的,看起来你不能在一台机器上运行两个Web服务器,即使请求是不同的域名,端口80的请求也会传送给每个服务器。 这是这种情况还是有办法解决这个问题? 我不愿意把端口号放在其中一个端口号,因为它不是特别方便用户。
您可以在同一个端口上使用多个IP地址在networking接口上并行运行VisualSVN Server和IIS: http : //www.itsyourip.com/networking/how-to-add-multiple-ip-address-in- Windows的2000xp2003 /
要将VisualSVN Serverconfiguration为只绑定到特定的接口,请使用以下步骤:
要在特定接口上configurationIIS侦听,请使用以下步骤:
执行以下命令:
netsh http add iplisten ipaddress=IPADDRESS
另一种方法是,如果具有能够重写URL的正确types的应用层防火墙/代理服务器,则可以将所有后端服务保留在uniqie端口上,并通过防火墙/代理将其全部发布到端口80上,但使用不同的URL 。
例如,微软的ISA Server就可以做到这一点。 ISA服务器可以打开一个传入的请求,检查URL,并根据它find的URL将请求redirect到一个完全不同的URL和/或端口。 这使得一个非常安全的configuration,因为后端服务器只与防火墙谈判,从来没有任何直接的stream量。
在这种情况下,用户将请求引导到防火墙/代理服务器,而不会直接指向实际的后端服务器。
ISA Server是Small Business Server 2003 Premiun Edition的一个标准组件,虽然它已经在2008版本中退役了。
这种技术可以工作,我有几个后台IIS服务器发布使用这种确切的技术,但是我发现基于Apache的解决scheme运行在与IIS相同的系统,它使得更简单的pipe理使用多个IP地址,并使每个系统使用完全独立的IP地址,正如先前的答案中所build议的那样。
如果您必须竞争服务,则必须始终使用两个端口,但是您可以执行的操作是将第二个端口屏蔽,以使其显示正常。
你用一个反向代理来做到这一点。 基本上,你可以告诉运行在80上的web主机将/SVN/上的所有请求转发到http://localhost:81 (或者你的情况,在www.example.com )。
在IIS 6中,我们使用Helicon ISAPI重写 。 IIS7可能有内置的这个function,我从来没有检查过。