Thoughtworks Go 服务器和 SSL

Thoughtworks Go 服务器和 SSL

如何更改 Go 服务器使用的 SSL 证书?证书中的域与我们实际用于访问服务器的域不匹配。因此,即使将证书添加到本地存储后,我们仍然会遇到证书问题。

答案1

针对此问题有一个建议的解决方法,如下所述: http://sachinsudheendra.github.io/2014/03/08/using-go-cd-with-custom-certificates.html

还没有尝试过,但很快就会尝试,所以当我尝试过后会在这里发布结果。

编辑:我今天尝试了一下并确认它运行良好。

使用 OpenSSL 64 位测试http://slproweb.com/download/Win64OpenSSL-1_0_0l.exe

重现步骤(在 Windows Server 2012 R2 上使用 GO 版本 13.4):

(假设您已经为想要使用的名称创建了 DNS 条目,例如 mycdserver.mycompany.com)

(这些步骤可以在任何安装了 OpenSSL 的机器上执行)

  1. 使用内部证书颁发机构或从具有与 DNS 条目匹配的 CN 的公共证书颁发机构获取有效的 X509 SSL 证书,例如 mycdserver.mycompany.com
  2. 将证书导入 Windows 证书存储区
  3. 使用证书 MMC 管理单元,将证书导出为 .pfx 文件,并指定密码 serverKeystorepa55w0rd
  4. 使用以下命令从 .pfx 源文件导出密钥文件:

    openssl pkcs12 -in 我的证书路径.pfx -nocerts -out 我的证书路径.key

  5. 使用以下命令从 .pfx 源文件导出 crt 文件:

    openssl.exe pkcs12 -in mycertificatepath.pfx -clcerts -nokeys -out mycertificatepath.crt

  6. 使用以下命令将密钥文件和crt文件转换为pkcs12文件:

    openssl pkcs12 -inkey mycertificatepath.key -in mycertificatepath.crt -export -out mycertificatepath.pkcs12

(这些步骤应在服务器上执行)

  1. 在服务器上,以管理员身份打开命令提示符
  2. 导航到安装 Java 运行时环境二进制文件的目录。默认路径为 C:\Program Files (x86)\Go Server\jre\bin
  3. 使用以下命令,使用 bin 目录中的 KeyTool 可执行文件将前面步骤中生成的 PKCS12 文件导入到密钥库文件中:

    keytool -importkeystore -srckeystore mycertificatepath.pkcs12 -srcstoretype PKCS12 -destkeystore keystore -srcalias 1 -destalias cruise

  4. 使用以下命令停止 Go Server 服务:

    net stop“转到服务器”

  5. 使用以下命令启动Go Server服务:

    网络启动“Go 服务器”

  6. 验证服务是否已正确启动,并尝试通过 https 导航到与您的证书相对应的 URL,例如 mycdserver.mycompany.com

  7. 您可能需要先关闭浏览器,但重新打开后您应该会通过 HTTPS 看到具有有效证书的 GO 服务器(假设您的客户端设置为信任颁发证书的证书颁发机构!)

如果出现任何问题,GO Server 服务将停止,详细信息将记录在文件“C:\Program Files (x86)\Go Server\go-server-wrapper.log”中

希望有所帮助。

相关内容