TFS 2015本地:Web扩展无法加载https - (不支持请求)

时间:2016-05-31 09:38:14

标签: tfs tfs2015

当使用 https 协议通过互联网公开TFS实例时,我需要有关何时使用TFS网络扩展的具体指导。

背景:我使用rest api开发了 TFS 2015 Web扩展,并使用tfs-cli将其安装在我们的tfs集合中。

安装并启用扩展后,我加载此扩展名;它会抛出以下错误

  

“错误代码:500内部服务器错误。请求不受支持。   (50)”。

在分析过程中,我发现问题与我们通过http和https的TFS配置有关。

我遇到与FolderManagementTeam Calendar https 相关的其他第三方扩展程序时出现的错误。这些扩展在我们的TFS 2015实验室环境中运行良好,该环境仅通过域上的 http 公开。

*让我们以市场上可用的 FolderManagement 扩展为例。*

尝试1 - 之前的配置:

我们在TMG中注册了一个外部网址https://tfs.companyname.com/tfs,它将所有流量路由到我们的内部TFS实例,说http://machinename:port/tfs

在TFS管理控制台中,通知网址设置为https://tfs.companyname.com/tfs

当我们在TFS网站中访问扩展时,它没有加载,在浏览器调试中我们遇到以下错误:

  

GET   https://tfs.companyname.com/tfs/_apis/public/gallery/publisher/ms-devlabs/extension/FolderManagement/1.1.10/assetbyname/main.html   “错误代码:500内部服务器错误。请求不受支持。   (50)”。

尝试2:

然后我在管理控制台中更改了TFS通知网址,指向内部实例http://machinename:port/tfs

现在,当我们使用http://machinename:port/tfs访问我们的TFS时,所有扩展都开始正常工作了。

但是,当我们访问外部网址https://tfs.companyname.com/tfs时,由于TMG将流量从安全(https)转发到不安全(http)并导致授权问题,因此扩展无效。

尝试3 - 当前配置:

在TFS服务器上,我们将https绑定(端口443)添加到“Team Foundation Server”网站并分配了有效证书。附注 - 证书是通配符*.companyname.com,支持站点的公开dns条目。

在TFS管理控制台中,通知网址设置为https://tfs.companyname.com/tfs  和服务器网址也设置为https://tfs.companyname.com/tfs

外部网址https://tfs.companyname.com/tfs正在通过443端口将流量路由到TFS服务器(计算机IP)。

现在,当我们在TFS网站中访问扩展时,它显示出与前面提到的相同的错误,即

  

GET   https://tfs.companyname.com/tfs/_apis/public/gallery/publisher/ms-devlabs/extension/FolderManagement/1.1.10/assetbyname/main.html   “错误代码:500内部服务器错误。请求不受支持。   (50)”。

鉴于当前配置,我得到的http和https都有相同的行为/错误。

问题:当所有配置都定位到通过http托管的TFS安装时,为什么扩展按预期工作,但是当通过https公开时,Web扩展的行为有所不同?

3 个答案:

答案 0 :(得分:0)

我不得不说http和https都可以很好地使用相同的Web扩展配置是不可能的。在部署Web扩展程序之前,请尝试以下配置。

  

将部署配置为需要使用SSL的HTTPS(可选)

     

您可以要求使用与TFS应用程序层的所有连接   使用SSL的HTTPS。这种额外的安全性是可选的,但建议使用。

     

要求SSL连接

     

1.在托管要配置的网站的服务器上,选择“开始”,选择“管理工具”,然后选择“Internet”   信息服务(IIS)管理器。

     

2.按照您的IIS版本执行相应的步骤:

     

对于使用IIS 7.0的部署:

     

a。展开ComputerName,展开“网站”,然后选择该网站   你要配置的。

     

b。在该网站的主页上,选择“SSL设置”。

     

c。在“SSL设置”窗格中,选中“要求SSL”复选框。

     

(可选)选中“要求128位SSL”复选框。

     

d。在客户端证书中,选择“忽略”,“接受”或“要求”,具体取决于   关于部署的安全要求。

     

e。在“操作”中,选择“应用”。

     

f。对于您要求的每个网站,请重复这些步骤   SSL

有关使用TFS的HTTPS的更多详细信息,请参阅此MSDN链接:Set up HTTPS with Secure Sockets Layer (SSL) for Team Foundation Server

答案 1 :(得分:0)

原来这是与TMG相关的问题。 TFS配置是正确的。 非常感谢所有帮助过的人。这个问题现在可以关闭了。

答案 2 :(得分:0)

我相信这是产品中的一个错误。由于一些奇怪的原因(不良做法)谁决定写这些图像网址不尊重当前的浏览器网址。如果他们只是写了一个相对网址,这将非常简单。

在我的情况下,有一个公开的https网址https://team.devscope.net/tfs/_api ...和一个内部的https:// *:8080 / tfs,但该产品刚刚发明了一个名为http://team.devscope.net:8080/tfs/_apis的无保护/新网址

结果只是浏览器中的错误: enter image description here