后,我添加了一个自签名证书到我的TeamCity BuildServer介绍HTTPS支持,以便它现在可以在TeamCity的生成代理变为添加自签名HTTPS证书的TeamCity
https://ServerUrl:8443
访问(更多细节断开关于如何here)
结果是我可以通过https访问服务器,但我的构建代理现在已断开连接。如何解决这个问题?
后,我添加了一个自签名证书到我的TeamCity BuildServer介绍HTTPS支持,以便它现在可以在TeamCity的生成代理变为添加自签名HTTPS证书的TeamCity
https://ServerUrl:8443
访问(更多细节断开关于如何here)
结果是我可以通过https访问服务器,但我的构建代理现在已断开连接。如何解决这个问题?
构建代理作为构建服务器的客户端,并使用http/https与其通信,事实证明,当您添加自签名证书时,构建代理不接受它。
我需要
要更改路径我做了以下操作(有关更多详细信息,请参见this post)
Loca TE文件:
$ TEAMCITY_HOME/buildAgent/conf目录/ buildAgent.properties
更改属性
的serverUrl = HTTP:\://本地主机\:8080至新网址
为了让生成代理知道它可以信任的新证书,我不得不将它导入生成代理的主要store.This使用密钥工具完成的:
keytool -importcert -file <cert file>
-keystore <agent installation path>/jre/lib/security/cacerts
(,除非你已经改变了它的密钥库是由密码保护:的changeit)
的TeamCity的团队描述了稍微详细here
注意
如果您需要检索您的证书,这个过程从TeamCity的buildserver密钥库,您还可以使用密钥工具来做到这一点:
keytool -export -alias <alias name>
-file <certificate file name>
-keystore <Teamcity keystore path>
这里是一个link转换为keytool上的TeamCity v8文档。
我在Windows Build Agent上执行此操作,并在我的Amazon Linux Build Server上拥有自签名SSL证书。这里是我采取的步骤:
使用完全一样重新开始生成代理和中提琴的文档
> keytool -importcert -file <cert file where it was exported to>
-keystore <path to JRE installation>/lib/security/cacerts
password: changeit
中指定的密钥工具!
由于某种原因,我不必做第2步......第1步在TC9上已经足够了。 – archangel76 2014-12-19 19:50:16
当我最初编写这篇文章时,我们正在使用TC7(我已将TC版标记添加到原始问题) – 2015-08-19 09:25:38