在 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”。