在 CentOS 上给 Jenkins 配置 SSL(HTTPS) 常见有 两种方式:
优点:简单、安全、易维护,支持 Let’s Encrypt 免费证书
sudo yum install -y nginx
sudo systemctl enable --now nginx
编辑 Jenkins 配置:
sudo vi /etc/sysconfig/jenkins
修改:
JENKINS_PORT="8080"
JENKINS_LISTEN_ADDRESS="127.0.0.1"
重启 Jenkins:
sudo systemctl restart jenkins
sudo vi /etc/nginx/conf.d/jenkins.conf
示例(自签或正式证书):
server {
listen 443 ssl;
server_name jenkins.example.com;
ssl_certificate /etc/nginx/ssl/jenkins.crt;
ssl_certificate_key /etc/nginx/ssl/jenkins.key;
location / {
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto https;
}
}
server {
listen 80;
server_name jenkins.example.com;
return 301 https://$host$request_uri;
}
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload
openssl req -x509 -nodes -days 365 \
-newkey rsa:2048 \
-keyout /var/lib/jenkins/jenkins.key \
-out /var/lib/jenkins/jenkins.crt
sudo vi /etc/sysconfig/jenkins
添加:
JENKINS_ARGS="--httpsPort=8443 --httpsCertificate=/var/lib/jenkins/jenkins.crt --httpsPrivateKey=/var/lib/jenkins/jenkins.key"
sudo systemctl restart jenkins
访问:
https://服务器IP:8443
| 方式 | 推荐度 |
|---|---|
| Nginx + SSL | ⭐⭐⭐⭐⭐ |
| Jenkins 原生 SSL | ⭐⭐ |
如果你是 内网 / 测试环境 还是 公网生产,我可以给你更具体方案(比如 Let’s Encrypt 自动续期)。