Как я могу настроить Jenkins CI для использования HTTPS в Windows?

StackOverflow https://stackoverflow.com/questions/5313703

Вопрос

Недавно мы настроили сервер Jenkins CI в Windows. Теперь, чтобы использовать аутентификацию Active Directory, я хотел бы потребовать HTTPS (SSL/TLS) для доступа. Учитывая эту настройку, какой рекомендуемый способ сделать это?

Это было полезно?

Решение

Перейдите к вашему % jenkins_home % и измените jenkins.xml. Где вы видите --httpPort=8080 изменить это на --httpPort=-1 --httpsPort=8080 Вы можете сделать порты все, что вы хотите, конечно, но в моем тестировании (некоторое время назад это могло измениться), если вы не будете держать --httpPort=<something> Тогда Дженкинс всегда будет использовать 8080. Поэтому, если вы просто измените --httpPort=8080 к --httpsPort=8080, порт 8080 все еще будет использовать HTTP.

Кроме того, если вы хотите использовать свой собственный сертификат, внизу этой страницы есть несколько инструкций.

http://wiki.jenkins-ci.org/display/jenkins/starting+and+accessing+Jenkins

Другие советы

Бежать:

keytool -genkey -keyalg RSA -keystore Jenkins.jks -alias [Name of website] -keysize 2048

Ответьте на вопросы, вспоминая это First and last name это URL -адрес веб -сайта и должен быть строчным. Пример:

build.jenkins-ci.org

State or province не может быть сокращено.

Бежать:

keytool -certreq -Keystore jenkins.jks -alias [Name of website] -file jenkins.csr -keysize 2048

Отправлять Jenkins.csr вашему поставщику сертификата и запрос сертификата PKCS#7, который имеет .p7b расширение и начинается с:

-----BEGIN PKCS #7 SIGNED DATA-----

Примечание: пробные сертификаты обычно не доступны в .p7b формат, но вы можете объединить .cer Файлы, использующие этот инструмент, который сообщил о успехе, но не работал для меня. (https://www.sslshopper.com/ssl-converter.html)

Бежать:

keytool -import -trustcacerts -file jenkins.p7b -keystore jenkins.jks -alias [Name of website]

Изменить arguments Узел в jenkins.xml к следующему мнению.

<arguments>-Xrs -Xmx256m -Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle -jar "%BASE%\jenkins.war" --httpPort=-1 --httpsPort=443 --httpsKeyStore="%BASE%\Cert\Jenkins.jks" --httpsKeyStorePassword=[Cert password from step 1]</arguments>

Исправление проблем:

  • Если Дженкинс не начнет читать последние строки из Jenkins.err.log.
  • Если Дженкинс не начался из -за проблемы с Jenkins.xml, заменить (странные символы Windows) с фактическим - (ASCII Гайфик).
  • Если Дженкинс начинается, но сертификат все еще читается как плохое, убедитесь, что [Name of website] фактический URL без https: пример: https://build.jenkins-ci.org было бы build.jenkins-ci.org.
  • Если это не проблема. .jks Файл с использованием KeyStore Explorer. Анкет «Иерархия сертификата» должна показать, что каждый сертификат вложен в другой; Это должно проиллюстрировать цепочку сертификатов. Если он показывает сертификаты рядом друг с другом, то это неверно.
  • Если он не запустится на конкретном порте, например, 443, то проверьте IIS или другое приложение, которое в настоящее время не использует порт.
  • Если вы можете увидеть сайт на ПК, на котором он размещен, но не на другом ПК, то убедитесь, что вас не заблокируют брандмауэр.

Шаг 1: Создайте как публичный, так и частный сертификат на вашем имени Jenkin (преобразовать их в файл Keysore, если это не так) Шаг 2: импортируйте общедоступный сертификат в свой браузер государственный и частный ключ.

Для шагов.Включить https в Дженкинсе?"

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top