IIS 7重写子域指向特定的端口

在Windows Server 2008上安装了Team Foundation Server 2010之后,我需要一个简单的URL来让我们的开发人员访问他们的存储库。

TFS存储库的默认URL是http:// localhost:8080 / tfs

现在我想让子域名tfs.server.domain.com指向http:// localhost:8080 / tfs 。 而当你访问tfs.server.domain.com/repos_name时,它应该redirect到http:// localhost:8080 / tfs / repos_name 。

我怎么能在IIS7中做到这一点?

我已经尝试使用以下规则,但它不起作用。 我得到一个404。

<rewrite> <globalRules> <rule name="TFS" stopProcessing="true"> <match url="^(?:tfs/)?(.*)" /> <conditions> <add input="{HTTP_HOST}" pattern="^tfs.server.domain.com$" /> </conditions> <action type="Rewrite" url="http://localhost:8080/tfs/{R:1}" /> </rule> </globalRules> </rewrite> 

编辑

我实际上是通过在主机名为tfs.server.domain.com的端口80上添加一个绑定来获得这个工作。

但是使用tfs.server.domain.com,我无法使用Windows身份validation进行身份validation。 有什么我需要configuration为Windows身份validation?

您可以在这里看到一个跟踪: http : //pastebin.com/k0QrnL0m

当使用http://localhost:8080/tfs链接时它仍然工作吗? 身份validation可能与URL模式无关。

你只testing本地主机? 如果是这样,你可能会遇到环回检查问题: http : //support.microsoft.com/kb/896861 。 尝试从另一台机器进行testing,它可能适用于您,或者您可以在该知识库文章中进行任何更改。

您是否尝试过在Team Foundation Serverpipe理控制台中更改它? 您也可以使用以下命令更改url:

C:\ Program Files \ Microsoft Team Foundation Server 2010 \ Tools> tfsconfig settings / notificationUrl: http ://tfs.nimble.org/tfs

例如,我们的TFS 2010安装在虚拟机上,基础架构人员遵循命名约定,并将该机器命名为BEL-VM-TFS。 但现在每个人都通过tfs.nimble.org连接到它。

除此之外,我们必须在指向服务器“BEL-VM-TFS”的DNS服务器上添加一个ALIAS“TFS”。