在 Debian 上给 Jenkins 配置 SSL,常见有 两种方式:
下面分别说明。
sudo apt update
sudo apt install nginx -y
sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d jenkins.example.com
编辑 /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
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
编辑:
sudo nano /etc/default/jenkins
添加:
JAVA_ARGS="--httpsPort=8443 --httpsCertificate=/etc/jenkins/ssl/jenkins.crt --httpsPrivateKey=/etc/jenkins/ssl/jenkins.key"
sudo systemctl restart jenkins
访问:
https://服务器IP:8443
⚠️ 浏览器会提示不安全(自签名)
✅ 推荐组合:
127.0.0.1:8080❌ 不推荐:
如果你告诉我:
我可以给你更精确的配置示例。