gpt4 book ai didi

http - 在 Jenkins 中启用 HTTPS?

转载 作者:可可西里 更新时间:2023-11-01 15:10:27 26 4
gpt4 key购买 nike

我有一个具有本地 IP 的专用网络。我想为静态 IP W.X.Y.Z:8080 的 Jenkins 服务器启用 HTTPS。

Jenkins version 2.9
java version "1.7.0_111"
OpenJDK Runtime Environment (IcedTea 2.6.7) (7u111-2.6.7-0ubuntu0.14.04.3)
OpenJDK 64-Bit Server VM (build 24.111-b01, mixed mode)

我尝试在/etc/defaults/jenkins 文件中配置以下参数

HTTP_PORT=-1
JENKINS_ARGS="--webroot=/var/cache/$NAME/war -DsessionTimeout=1 --httpPort=$HTTP_PORT --httpsPort=8081"

但我收到以下错误。请帮忙

Running from: /usr/share/jenkins/jenkins.war
webroot: $user.home/.jenkins
Oct 19, 2016 2:18:48 PM org.eclipse.jetty.util.log.JavaUtilLog info
INFO: Logging initialized @811ms
Oct 19, 2016 2:18:48 PM winstone.Logger logInternal
INFO: Beginning extraction from war file
Oct 19, 2016 2:18:48 PM org.eclipse.jetty.util.log.JavaUtilLog warn
WARNING: Empty contextPath
Using one-time self-signed certificate
Oct 19, 2016 2:18:48 PM winstone.Logger logInternal
INFO: Winstone shutdown successfully
Oct 19, 2016 2:18:48 PM winstone.Logger logInternal
SEVERE: Container startup failed
java.io.IOException: Failed to start a listener
winstone.HttpsConnectorFactory
at winstone.Launcher.spawnListener(Launcher.java:207)
at winstone.Launcher.<init>(Launcher.java:149)
at winstone.Launcher.main(Launcher.java:352)`enter code here`
at sun.reflect.NativeMethodAccessorImpl.invoke0

我发现这里解决了类似的问题,但它对我不起作用

编辑1:在/etc/defaults/jenkins 文件中尝试了以下更改并重新启动了 jenkins,但它对我不起作用。

HTTP_PORT=-1
JENKINS_ARGS="--webroot=/var/cache/$NAME/war -DsessionTimeout=1 --httpPort=$HTTP_PORT --httpsPort=8443 --httpsCertificate=cert.pem --httpsPrivateKey=key.pem

https://issues.jenkins-ci.org/browse/JENKINS-34463

https://issues.jenkins-ci.org/browse/JENKINS-25333

最佳答案

您可以按照以下步骤通过 HTTPS 启用 Jenkins:

  1. 使用 Java 创建证书

     keytool -genkey -keyalg RSA -alias "localhost" -keystore "C:\Users\username\Desktop\New folder\localhost.jks" -validity 365 -keysize 2048 -dname "CN=localhost, OU=OU_name, O=OU_name, L=city, ST=State_name, C=two_letter_country_code" -ext SAN=dns:localhost,ip:ip_address -storepass changeit
  2. 从 key 存储文件中导出 p12 公共(public)证书

     keytool -importkeystore -srckeystore "C:\Users\username\Desktop\New folder\localhost.jks" -storepass changeit -destkeystore "C:\Users\username\Desktop\New folder\localhost.p12" -srcstoretype JKS -deststoretype PKCS12 -deststorepass changeit
  3. 使用 keystore (JKS) 文件托管 Jenkins

     java -jar jenkins.war --httpsPort=8082 --httpPort=-1 --httpsKeyStore="C:\Users\username\Desktop\New folder\localhost.jks" --httpsKeyStorePassword=changeit
  4. 将证书导入浏览器

您可能有一个问题,例如为什么我们要导出 *.p12 证书...嗯,这个证书我们将从访问 Jenkins 的地方导入到我们的浏览器中。同一个 p12 证书可以在多个用户之间共享。

例如,在 Chrome 中转到“设置”>“搜索”-“管理证书”,然后单击“管理证书”,您将看到一个“证书”窗口。将证书导入每个选项卡(人员、其他人、中间证书颁发机构、受信任的根证书颁发机构、受信任的发布者和不受信任的发布者)。

关于http - 在 Jenkins 中启用 HTTPS?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40126736/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com