Jenkins在Debian上如何配置SSL
导读:在Debian上为Jenkins配置SSL证书(以Let’s Encrypt为例) 1. 准备工作 确保系统已安装Java(Jenkins依赖)和certbot(证书管理工具): sudo apt update sudo apt insta...
在Debian上为Jenkins配置SSL证书(以Let’s Encrypt为例)
1. 准备工作
确保系统已安装Java(Jenkins依赖)和certbot(证书管理工具):
sudo apt update
sudo apt install openjdk-11-jdk certbot -y
2. 获取SSL证书
使用Certbot获取免费SSL证书(以yourdomain.com替换为你的域名):
sudo certbot certonly --standalone -d yourdomain.com
--standalone:Certbot会启动一个临时Web服务器完成域名验证(需确保80端口未被占用)。- 执行后会生成证书文件,路径为
/etc/letsencrypt/live/yourdomain.com/,包含:fullchain.pem(证书链,需配置到Jenkins的Keystore)privkey.pem(私钥,需配置到Jenkins的私钥路径)。
3. 配置Jenkins使用SSL证书
方法一:通过Jenkins管理界面配置(推荐)
- 登录Jenkins管理界面(
http://yourdomain.com:8080)。 - 进入Manage Jenkins > Configure System。
- 滚动到SSL section,勾选Use SSL。
- 在Keystore字段输入证书路径:
/etc/letsencrypt/live/yourdomain.com/fullchain.pem。 - 在Keystore Password字段输入私钥密码(若证书生成时未设置密码,直接留空)。
- 点击Save保存配置。
方法二:手动修改Jenkins启动脚本
- 编辑Jenkins启动配置文件:
sudo nano /etc/default/jenkins - 找到
JENKINS_ARGS行,修改为以下内容(替换域名):JENKINS_ARGS="--httpPort=-1 --httpsPort=8443 --httpsCertificate=/etc/letsencrypt/live/yourdomain.com/fullchain.pem --httpsPrivateKey=/etc/letsencrypt/live/yourdomain.com/privkey.pem"--httpPort=-1:禁用HTTP端口(强制使用HTTPS)。--httpsPort=8443:设置HTTPS端口(可自定义,如443需root权限)。
- 保存并退出(
Ctrl+O→Enter→Ctrl+X)。 - 重启Jenkins服务使配置生效:
sudo systemctl restart jenkins
4. 验证配置
打开浏览器访问https://yourdomain.com:8443(若修改了端口需对应调整),确认:
- 浏览器地址栏显示锁图标(安全连接)。
- 证书信息正确(颁发者为Let’s Encrypt等可信机构)。
5. 可选:自动续期证书(Let’s Encrypt)
Let’s Encrypt证书有效期为90天,需设置自动续期:
- 测试续期命令:
sudo certbot renew --dry-run - 若测试成功,添加cron任务自动续期(每天凌晨2点检查):
echo "0 2 * * * certbot renew --quiet --post-hook 'systemctl restart jenkins'" | sudo tee /etc/cron.d/certbot-jenkins > /dev/null--post-hook:续期后自动重启Jenkins,加载新证书。
注意事项
- 若使用域名,需确保域名已解析到服务器IP。
- 若Jenkins运行在防火墙后,需开放对应HTTPS端口(如8443或443)。
- 自签名证书需手动导入浏览器信任库,建议生产环境使用Let’s Encrypt等可信CA证书。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Jenkins在Debian上如何配置SSL
本文地址: https://pptw.com/jishu/738421.html
