Frage

Wir haben kürzlich einen Jenkins CI -Server unter Windows eingerichtet. Um jetzt die Active Directory -Authentifizierung zu verwenden, möchte ich HTTPS (SSL/TLS) für den Zugriff benötigen. Wie können Sie angesichts dieses Setups dies empfohlen, um dies zu tun?

War es hilfreich?

Lösung

Gehen Sie zu Ihrem % jenkins_home % und ändern Sie die jenkins.xml. Wo siehst du --httpPort=8080 Ändern Sie es in --httpPort=-1 --httpsPort=8080 Sie können die Ports natürlich alles machen, was Sie wollen, aber bei meinen Tests (vor einiger Zeit hat es sich möglicherweise geändert), wenn Sie nicht behalten --httpPort=<something> Dann wird Jenkins immer 8080 verwenden. Wenn Sie sich also einfach ändern --httpPort=8080 zu --httpsPort=8080, Port 8080 wird weiterhin HTTP verwenden.

Wenn Sie Ihr eigenes Zertifikat verwenden möchten, befinden sich am Ende dieser Seite einige Anweisungen.

http://wiki.jenkins-ci.org/display/jenkins/starting+ und Accesssing++jenkins

Andere Tipps

Laufen:

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

Beantworten Sie die Fragen, die sich daran erinnern First and last name ist die Website -URL und sollte Kleinbuchstaben sein. Beispiel:

build.jenkins-ci.org

State or province kann nicht abgekürzt werden.

Laufen:

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

Senden Jenkins.csr an Ihren Zertifikatanbieter und fordern Sie ein PKCS#7 -Zertifikat an, das ein hat .p7b Erweiterung und beginnt mit:

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

HINWEIS: Probe Zertifikate sind normalerweise nicht verfügbar in .p7b Format, aber Sie können das möglicherweise kombinieren .cer Dateien, die dieses Tool verwenden, das Erfolg berichtete, aber bei mir nicht funktioniert hat. (https://www.sslshopper.com/ssl-converter.html)

Laufen:

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

Ändere das arguments Knoten in jenkins.xml nach folgendem.

<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>

Fehlerbehebung:

  • Wenn Jenkins nicht beginnt, die letzten Zeilen von zu lesen Jenkins.err.log.
  • Wenn Jenkins wegen eines Problems mit nicht angefangen hat Jenkins.xml, ersetze das (seltsame Windows -Hyphen) Zeichen mit einem tatsächlichen - (ASCII -Bindestrich).
  • Wenn Jenkins beginnt, aber das Zertifikat immer noch als schlecht liest, stellen Sie sicher, dass das [Name of website] ist die tatsächliche URL ohne die https: Beispiel: https://build.jenkins-ci.org wäre build.jenkins-ci.org.
  • Wenn dies nicht das Problem ist, inspizieren Sie die .jks Datei mit KeyStore Explorer. Die "Zertifikathierarchie" sollte zeigen, dass jedes Zertifikat in einem anderen verschachtelt ist. Dies soll die Zertifizierungskette veranschaulichen. Wenn es die Zertifikate nebeneinander anzeigt, ist es nicht korrekt.
  • Wenn es beispielsweise bei einem bestimmten Port nicht beginnt, verifizieren Sie den IIS oder eine andere App derzeit nicht den Port.
  • Wenn Sie die Website auf dem PC sehen können, auf dem sie gehostet wird, aber nicht auf einem anderen PC, werden Sie sicherstellen, dass Sie nicht von einer Firewall blockiert werden.

SCHRITT1: Erstellen Sie sowohl öffentliches als auch privates Zertifikat in Ihrem Jenkin -Namen (konvertieren Sie sie in Keysore -Datei, wenn dies nicht der Fall ist) Schritt 2: Importieren Sie das öffentliche Zertifikat in Ihr Browser -Zertifikat Mananger (in alle Registerkarten importieren) Schritt 3: Hostieren Sie Ihre Jenkin mit JKS -Datei, die beide enthalten öffentlicher und privater Schlüssel.

Für Schritte beziehen sich "HTTPS in Jenkins aktivieren?"

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top