我向我的 Teamcity BuildServer 添加了一个自签名证书以引入 https 支持,以便现在可以在
https://ServerUrl:8443
(有关此处的更多详细信息)
结果是我能够通过 https 访问服务器,但我的构建代理现在已断开连接。如何解决这个问题?
我向我的 Teamcity BuildServer 添加了一个自签名证书以引入 https 支持,以便现在可以在
https://ServerUrl:8443
(有关此处的更多详细信息)
结果是我能够通过 https 访问服务器,但我的构建代理现在已断开连接。如何解决这个问题?
构建代理作为构建服务器的客户端工作,并使用 http/https 与它通信,事实证明,当您添加自签名证书时,构建代理不接受它。
我需要
要更改路径,我执行了以下操作(有关更多详细信息,请参阅此帖子)
找到文件:
$TEAMCITY_HOME/buildAgent/conf/buildAgent.properties
将属性
serverUrl=http:\://localhost\:8080更改为您的新 url
为了让构建代理知道它可以信任新证书,我必须将其导入构建代理的密钥库。这是使用 keytool 完成的:
keytool -importcert -file <cert file>
-keystore <agent installation path>/jre/lib/security/cacerts
(除非您已更改,否则密钥库受密码保护:changeit)
TeamCity 团队在这里更详细地描述了这个过程
注意
如果您需要从 TeamCity buildserver 密钥库中检索您的证书,您也可以使用 keytool 来执行此操作:
keytool -export -alias <alias name>
-file <certificate file name>
-keystore <Teamcity keystore path>
这是keytool 上 TeamCity v8 文档的链接。
我在 Windows 构建代理上执行此操作,并在我的 Amazon Linux 构建服务器上拥有自签名 SSL 证书。以下是我采取的步骤:
完全按照文档中的说明使用 keytool
> keytool -importcert -file <cert file where it was exported to>
-keystore <path to JRE installation>/lib/security/cacerts
password: changeit
重新启动构建代理和中提琴!