- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
当 TFS 实例使用 https 协议(protocol)在 Internet 上公开时,我需要有关使用 TFS Web 扩展的具体指导。
背景:我使用 rest api 开发了一个 TFS 2015 网络扩展,并使用 tfs-cli 将其安装在我们的 tfs 集合中。
安装并启用扩展后,我加载了这个扩展;它抛出以下错误
“Error Code: 500 Internal Server Error. The request is not supported. (50)”.
在分析过程中,我发现问题与我们通过 http 和 https 配置的 TFS 有关。
我在其他第 3 方扩展程序(如 FolderManagement)中遇到了同样的错误和 Team Calendar通过 https。这些扩展在我们的 TFS 2015 实验室环境中运行良好,该环境仅通过域上的 http 公开。
*让我们以市场上可用的 FolderManagement 扩展为例。*
尝试 1 - 之前的配置:
我们有一个外部 url 说 https://tfs.companyname.com/tfs
在 TMG 中注册,它将所有流量路由到我们的内部 TFS 实例说 http://machinename:端口/tfs
在 TFS 管理控制台通知 url 设置为 https://tfs.companyname.com/tfs
当我们在 TFS web 中访问扩展时,它没有加载,在浏览器调试中我们得到以下错误:
GET
https://tfs.companyname.com/tfs/_apis/public/gallery/publisher/ms-devlabs/extension/FolderManagement/1.1.10/assetbyname/main.html
“Error Code: 500 Internal Server Error. The request is not supported. (50)”.
尝试 2:
然后我在管理控制台中更改了 TFS 通知 url 以指向内部实例 http://machinename:port/tfs
现在,当我们使用 http://machinename:port/tfs
访问我们的 TFS 时,所有扩展都开始正常工作。
然而,当我们访问外部 url https://tfs.companyname.com/tfs
时,扩展不起作用,因为 TMG 将流量从安全 (https) 转发到不安全 (http) 并导致授权问题。
尝试 3 - 当前配置:
在 TFS 服务器上,我们将 https 绑定(bind)(端口 443)添加到 “Team Foundation Server” 网站并分配了有效证书。旁注 - 证书是通配符 *.companyname.com
支持站点的公开 dns 条目。
在 TFS 管理控制台中,通知 url 设置为 https://tfs.companyname.com/tfs
并且服务器 url 也设置为 https://tfs.companyname.com/tfs
外部 url https://tfs.companyname.com/tfs
正在通过 443 端口将流量路由到 TFS 服务器(机器 IP)。
现在当我们在 TFS web 中访问扩展时,它显示与前面提到的相同的错误,即
GET
https://tfs.companyname.com/tfs/_apis/public/gallery/publisher/ms-devlabs/extension/FolderManagement/1.1.10/assetbyname/main.html
“Error Code: 500 Internal Server Error. The request is not supported. (50)”.
鉴于当前配置,我在 http 和 https 上得到了相同的行为/错误。
问题:为什么当所有配置都以通过 http 托管的 TFS 安装为目标时,扩展按预期工作,但当通过 https 公开时,web 扩展的行为不同?
最佳答案
我不得不说 http 和 https 都可以在相同的配置下很好地工作,因为 web 扩展是不可能的。在部署 Web 扩展之前尝试以下配置。
Configuring Your Deployment to Require HTTPS with SSL (Optional)
You can require all connections to the TFS application tier to use HTTPS with SSL. This additional security is optional but recommended.
To require SSL connections
1.On the server that hosts the website that you want to configure, choose Start, choose Administrative Tools, and then choose Internet Information Services (IIS) Manager.
2.Follow the appropriate steps for your version of IIS:
For deployments that use IIS 7.0:
a.Expand ComputerName, expand Web Sites, and then choose the website that you want to configure.
b.On the home page for that website, choose SSL Settings.
c.In the SSL Settings pane, select the Require SSL check box.
(Optional) Select the Require 128-bit SSL check box.
d.In Client Certificates, choose Ignore, Accept, or Require, depending on the security requirements of your deployment.
e.In Actions, choose Apply.
f.Repeat these steps for each website for which you want to require SSL.
有关带 TFS 的 HTTPS 的更多详细信息,请参阅此 MSDN 链接:Set up HTTPS with Secure Sockets Layer (SSL) for Team Foundation Server
关于TFS 2015 本地 : web extension failing to load over https - (The request is not supported),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37542113/
这两个句子有什么区别: res = requests.request('POST', url) 和 res = requests.request.post(url) 最佳答案 它们几乎是一样的:htt
我正在使用“请求对话框”来创建 Facebook 请求。为了让用户收到请求,我需要使用图形 API 访问 Request 对象。我已经尝试了大多数看起来合适的权限设置(read_requests 和
urllib.request和http.client都是python标准库。前者相关方法的文档是 here后者,here (我使用的是3.5) 有谁知道为什么标准库中有两种方法看起来做同样的事情,或者
我是 Twisted 的新手,我不明白为什么在运行我的脚本时会出现此错误。\ 基本上,该脚本由 2 个页面组成,第一个页面是一个 HTML 表单,它调用自身执行一个阻塞方法并显示结果。当请求同时发送到
我有一个客户端 JS 文件,其中包含: agent = require('superagent'); request = agent.get(url); 然后我有类似的东西 request.get(u
提前输入功能可以正常工作。但问题是,提前输入功能会在每个数据请求上发出 JSON 请求,而实际上只应针对一个特定请求发生。 我有以下 Controller : #controllers/agencie
我正在使用 Rust 开发一个小型 API,我不确定如何在两个地方访问来自 Iron 的 Request。 Authentication 中间件为 token 读取一次Request,如果路径被允许(
问题起因 今天一位网友向我们反馈,用Chrome打开某些博客文章时,会出现"Bad Request - Request Too Long. HTTP Error 400. The siz
当我从 LinkedIn 向 https://api.linkedin.com/uas/oauth/requestToken 请求请求 token 时,出现以下错误: oauth_problem=si
我只是想使用 okhttp 下载一些字节数据,但在我完成代码之前,我遇到了一个问题,android studio 报告了一个错误,说“Request(okhttp3.Request.Builder)
我正在使用 Windows 10。我想在我的系统上使用 Angular 4。当我运行 node -v 和 npm -v 时,它会显示版本。但是当我执行语句 npm install -g @angula
我正在尝试让一个简单的 Iron 示例起作用: extern crate iron; extern crate router; use iron::prelude::*; use iron::stat
我正在尝试使用嵌套字典“动态”创建一个数据输入表单(目前,我使用具有 3 个值的数组,但将来数组中的元素数量可能会有所不同)。这似乎工作正常,并且表单“正确”渲染了 html 模板(正确 = 我看到了
从 ASP.NET 中的代码隐藏访问表单或查询字符串值时,使用的优缺点是什么,例如: // short way string p = Request["param"]; 代替: // long way
我遇到了一个问题,我想知道更好的解决方法。 有五个 api 请求并行运行,第二个请求依赖于第四个请求的响应,但所有 5 个请求都已在运行。什么是更好的方法? 需要建议。提前致谢。 最佳答案 调度地面工
我收到以下错误:TypeError:序列项 0:预期字节、字节数组或具有缓冲区接口(interface)的对象、找到元组 我检查了Python文档,urllib.request.Request的参数似
当我向函数添加超时参数时,我的代码总是进入异常并打印出“我失败了”。当我删除超时参数时,代码会正常工作,并进入 try 子句。关于超时参数如何在 urllib.request 函数中工作的任何信息?
我使用 cURL 向服务器发送请求这是链接:Server Side script for cURL request我用 file_get_contents('php://input'); 读取发送的数
请大家帮帮我我正在尝试使用 NUTCH 抓取网站,但它给我错误“java.io.IOException: Job failed!” 我正在运行此命令“bin/nutch solrindex http:
在我的 AngularJS 应用程序中,我无法弄清楚如何对 then promise 的执行更改 location.url 进行单元测试。我有一个函数,登录 ,调用服务,身份验证服务 .它返回 pro
我是一名优秀的程序员,十分优秀!