Как изменить используемый сервер SSL-сертификатов Go? У нас есть несоответствие между доменом в сертификате и доменом, который мы фактически используем для доступа к серверу. Таким образом, мы всегда получаем проблемы с сертификатом даже после добавления сертификата в местный магазин.
Предлагаемый способ решения этой проблемы описан здесь: http://sachinsudheendra.github.io/2014/03/08/using-go-cd-with-custom-certificates.html
Еще не пробовал, но скоро буду, так что опубликую здесь результаты, когда попробую.
Изменить: я пробовал это сегодня и могу подтвердить, что он работает нормально.
Протестировано с использованием 64-разрядной версии OpenSSL http://slproweb.com/download/Win64OpenSSL-1_0_0l.exe
Действия по воспроизведению (в Windows Server 2012 R2 с использованием GO версии 13.4):
(Предполагается, что вы уже создали запись DNS для имени, которое хотите использовать, например, mycdserver.mycompany.com)
(Эти шаги можно выполнить на любой машине с установленным OpenSSL)
Экспортируйте ключевой файл из исходного файла .pfx, используя следующую команду:
openssl pkcs12 -в mycertificatepath.pfx -nocerts -out mycertificatepath.key
Экспортируйте файл crt из исходного файла .pfx, используя следующую команду:
openssl.exe pkcs12 -в mycertificatepath.pfx -clcerts -nokeys -out mycertificatepath.crt
Преобразуйте ключевой файл и файл crt в файл pkcs12, используя следующую команду:
openssl pkcs12 -inkey mycertificatepath.key -in mycertificatepath.crt -export -out mycertificatepath.pkcs12
(Эти действия следует выполнять на сервере)
Импортируйте файл PKCS12, созданный на предыдущих шагах, в файл хранилища ключей, используя исполняемый файл KeyTool в каталоге bin, используя следующую команду:
keytool -importkeystore -srckeystore mycertificatepath.pkcs12 -srcstoretype PKCS12 -destkeystore keystore -srcalias 1 -destalias cruise
Остановите службу Go Server, используя следующую команду:
net stop "Go Server"
Запустите службу Go Server, используя следующую команду:
net start "Go Server"
Убедитесь, что служба запущена правильно, и попробуйте перейти по URL-адресу, соответствующему вашему сертификату, через https, например. mycdserver.mycompany.com
Возможно, вам придется сначала закрыть браузер, однако после повторного открытия вы должны увидеть свой сервер GO через HTTPS с действующим сертификатом (при условии, что ваш клиент настроен так, чтобы доверять центру сертификации, выдавшему сертификат!)
Если возникнут какие-либо проблемы, служба GO Server будет остановлена, и подробности будут записаны в файл "C: \ Program Files (x86) \ Go Server \ go-server-wrapper.log"
Надеюсь, это поможет.