温馨提示×

Debian Jenkins如何配SSL

小樊
48
2026-10-07 23:16:20
栏目: 云计算

在 Debian 上给 Jenkins 配置 SSL,常见有 两种方式:

  1. 用反向代理(Nginx / Apache)做 SSL(推荐)
  2. Jenkins 自身直接启用 HTTPS(不推荐生产环境)

下面分别说明。


一、推荐方案:Nginx + Let’s Encrypt(SSL)

1. 安装 Nginx

sudo apt update
sudo apt install nginx -y

2. 安装 Certbot

sudo apt install certbot python3-certbot-nginx -y

3. 申请 SSL 证书

sudo certbot --nginx -d jenkins.example.com

4. 配置 Nginx 反向代理

编辑 /etc/nginx/sites-available/jenkins:

server {
    listen 80;
    server_name jenkins.example.com;

    location / {
        return 301 https://$host$request_uri;
    }
}

server {
    listen 443 ssl;
    server_name jenkins.example.com;

    ssl_certificate     /etc/letsencrypt/live/jenkins.example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/jenkins.example.com/privkey.pem;

    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 $scheme;
    }
}

启用配置:

sudo ln -s /etc/nginx/sites-available/jenkins /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx

✅ 访问:https://jenkins.example.com


二、Jenkins 自身启用 HTTPS(测试用)

1. 生成自签名证书

sudo mkdir -p /etc/jenkins/ssl
sudo openssl req -x509 -nodes -days 365 \
  -newkey rsa:2048 \
  -keyout /etc/jenkins/ssl/jenkins.key \
  -out /etc/jenkins/ssl/jenkins.crt

2. 修改 Jenkins 启动参数

编辑:

sudo nano /etc/default/jenkins

添加:

JAVA_ARGS="--httpsPort=8443 --httpsCertificate=/etc/jenkins/ssl/jenkins.crt --httpsPrivateKey=/etc/jenkins/ssl/jenkins.key"

3. 重启 Jenkins

sudo systemctl restart jenkins

访问:

https://服务器IP:8443

⚠️ 浏览器会提示不安全(自签名)


三、生产环境建议

✅ 推荐组合:

  • Jenkins 监听 127.0.0.1:8080
  • Nginx + Let’s Encrypt
  • 防火墙只开放 80 / 443

❌ 不推荐:

  • Jenkins 直接暴露公网
  • 使用自签名证书

如果你告诉我:

  • Jenkins 版本
  • 是否已有域名
  • 是否内网使用

我可以给你更精确的配置示例。

0 踩