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

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 时,它​​应该重定向到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>

编辑

实际上,我通过在端口 80 上为站点添加一个绑定(主机名为 tfs.server.domain.com)来实现这个功能。

但是使用 tfs.server.domain.com,我无法使用 Windows 身份验证进行身份验证。我需要为 Windows 身份验证配置什么吗?

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

答案1

使用链接时它还能工作吗http://localhost:8080/tfs?身份验证可能与 URL 模式无关。

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

答案2

您是否尝试过在 Team Foundation Server 管理控制台中更改它?您还可以使用此命令更改 URL:

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

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

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

相关内容