You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Jenkins从HTTP切换HTTPS后无法访问的问题求助

Jenkins 访问故障排查与修复方案

方案一:快速恢复HTTP访问(最简方案)

如果仅需快速恢复Jenkins访问,直接还原HTTP配置即可:

  1. 编辑/etc/default/jenkins文件,修改JENKINS_ARGS参数,移除HTTPS相关配置,恢复HTTP端口:
JENKINS_ARGS="--webroot=/var/cache/$NAME/war --httpPort=9090"
  1. 重启Jenkins服务生效:
sudo systemctl restart jenkins
  1. 访问http://mydomain:9090验证访问正常。

方案二:正确配置HTTPS访问(基于Let's Encrypt证书)

若需保留HTTPS,需确保证书转换与Jenkins配置匹配:

1. 确认Certbot证书位置

Certbot生成的证书默认存储在/etc/letsencrypt/live/mydomain/,核心文件:

  • fullchain.pem:完整证书链
  • privkey.pem:私钥文件

2. 将PEM证书转换为Jenkins支持的JKS格式

Jenkins不直接支持PEM,需通过工具转换:

第一步:生成PKCS12格式文件

sudo openssl pkcs12 -export \
-in /etc/letsencrypt/live/mydomain/fullchain.pem \
-inkey /etc/letsencrypt/live/mydomain/privkey.pem \
-out /var/lib/jenkins/jenkins.p12 \
-name jenkins \
-password pass:自定义密码

第二步:转换为JKS格式

sudo keytool -importkeystore \
-deststorepass 自定义密码 \
-destkeypass 自定义密码 \
-destkeystore /var/lib/jenkins/jenkins.jks \
-srckeystore /var/lib/jenkins/jenkins.p12 \
-srcstoretype PKCS12 \
-srcstorepass 自定义密码 \
-alias jenkins

第三步:修复证书文件权限

确保Jenkins用户能读取证书:

sudo chown jenkins:jenkins /var/lib/jenkins/jenkins.jks
sudo chmod 600 /var/lib/jenkins/jenkins.jks

3. 修正Jenkins HTTPS配置

编辑/etc/default/jenkins,调整JENKINS_ARGS参数:

# 示例:关闭HTTP,使用9090端口提供HTTPS服务
JENKINS_ARGS="--webroot=/var/cache/$NAME/war --httpPort=-1 --httpsPort=9090 --httpsKeyStore=/var/lib/jenkins/jenkins.jks --httpsKeyStorePassword=自定义密码"

若要使用标准HTTPS端口443,需确保Jenkins拥有特权端口绑定权限,可通过authbind工具实现,或改用8443等非特权端口。

4. 重启服务并验证

sudo systemctl restart jenkins

访问https://mydomain:9090验证访问正常。

常见故障排查

  • 查看Jenkins日志定位错误:sudo tail -f /var/log/jenkins/jenkins.log,重点关注证书加载失败、权限异常等日志信息
  • 检查端口占用情况:sudo lsof -i :9090,若端口被其他服务占用,更换未使用端口
  • 确认防火墙规则:确保9090/443端口已对外开放

内容的提问来源于stack exchange,提问作者Seol Heo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 10:18:18