gpt4 book ai didi

.net - TFS On Premise Build Agent - 无法为 SSL/TLS 安全通道建立信任关系

转载 作者:太空宇宙 更新时间:2023-11-03 13:15:36 24 4
gpt4 key购买 nike

我已使用列出的说明将一个 TFS 本地构建代理设置为服务 here .我设置了随附的代理池、权限、构建 Controller 等。并解决了大多数关于让代理连接和运行的设置挑战。我现在有一个已连接并能够运行构建的代理:

enter image description here enter image description here

我的配置看起来像这样:

"settings.json" - "ServerURL": http://tfs.XXXXXXXXX.com:80/tfs

"Listen for Build Agent communication on:" http://XXXXXXXXXXX.com:9191/Build/v5.0/Services

但是当我尝试使用我新配置的代理池运行任何构建时,当代理日志中出现以下条目时它总是失败:

System.Net.Http.HttpRequestException: An error occurred while sendingthe request. ---> System.Net.WebException: The underlying connectionwas closed: Could not establish trust relationship for the SSL/TLSsecure channel. --->System.Security.Authentication.AuthenticationException: The remotecertificate is invalid according to the validation procedure.

The Agentfailed to start this job. Error: An error occurred while sending therequest.

这让我很困惑,因为在我的 TFS 配置中没有任何地方使用 SSL。如果我不使用端口 443 连接到它,它将如何在错误的证书(在本例中为自签名)上失败。当我通过网络浏览器 (firefox) 连接到该位置时,我不会自动重定向到“https”。代理是否以某种方式被重定向?同样,我能够毫无问题(或失败的证书)连接到列出的 URL,但由于某些原因,代理似乎不是。

我不确定我是否是唯一遇到此问题的人。我想this是相关的,但不是同一个版本的软件。有一百万个其他引用此错误消息,但我没有看到一个具有相同上下文或配置的引用。有没有人以前见过这个问题?

最佳答案

Team Foundation Server 本身有一个名为 Notification Uri 的设置,每当有任何问题询问它在哪里可以找到东西时,它都会使用这个 Uri 发回位置。

在你的情况下,构建服务器想要知道各种各样的事情,下载源代码,构建过程模板,上传测试结果等。当询问从哪里获取这些或将它们发送到哪里时,TFS 将使用该通知 Uri 进行响应.

您的服务器配置为使用自签名 SSL 证书,服务器配置为通过其通知 Uri 属性发回安全位置,因此您的客户端需要建立信任关系以建立通信。

三种解决方案:

  1. 在 TFS 服务器上安装受信任的证书(如果您处于事件目录设置中,这可能并不像看起来那么难)。
  2. 在连接到 TFS 服务器的每台 Windows 计算机的受信任根证书库中安装自签名证书
  3. 通过从 IIS 绑定(bind)中删除证书并重新配置服务器和通知 URI,在 TFS 服务器上关闭 SSL。

注意:禁用 SSL 可能会在您的安全设置中引入漏洞,具体取决于身份验证的配置方式。如果您的服务器接受基本身份验证,或者当您升级到 TFS2017 并激活对个人访问 token 的支持时,您的身份验证 token 可能会以明文形式通过网络发送。

关于.net - TFS On Premise Build Agent - 无法为 SSL/TLS 安全通道建立信任关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40639392/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com