温馨提示×

Ubuntu Jenkins如何配域名

小樊
45
2026-09-28 10:42:55
栏目: 云计算

在 Ubuntu 上给 Jenkins 配置域名,通常思路是:
Jenkins 本身监听端口(如 8080)→ 用 Nginx/Apache 做反向代理 → 绑定域名并配置 HTTPS

下面以 Ubuntu + Nginx + 域名 example.com 为例说明。


一、前提条件

  1. 已安装 Jenkins(默认端口 8080)
  2. 有一个域名(如 jenkins.example.com)
  3. 域名已解析到服务器公网 IP
  4. 服务器开放 80 / 443 端口

二、修改 Jenkins 监听配置(可选但推荐)

编辑 Jenkins 配置文件:

sudo vim /etc/default/jenkins

确保:

JENKINS_ARGS="--httpListenAddress=127.0.0.1 --httpPort=8080"

重启 Jenkins:

sudo systemctl restart jenkins

这样 Jenkins 只监听本机,外部通过 Nginx 访问


三、安装 Nginx

sudo apt update
sudo apt install nginx -y

四、配置 Nginx 反向代理

创建配置文件:

sudo vim /etc/nginx/sites-available/jenkins

内容如下(HTTP):

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

    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

此时访问:

http://jenkins.example.com

五、配置 HTTPS(强烈推荐)

使用 Let’s Encrypt:

sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d jenkins.example.com

Certbot 会自动:

  • 申请证书
  • 修改 Nginx 配置
  • 开启 443
  • 配置 HTTP 跳转 HTTPS

六、Jenkins 中配置 Jenkins URL

进入:

Jenkins → Manage Jenkins → System

修改:

Jenkins URL: https://jenkins.example.com/

保存。


七、防火墙(如有)

sudo ufw allow 80
sudo ufw allow 443

八、常见问题

1. 登录后跳转错误

检查:

  • Jenkins URL 是否为域名
  • Nginx 是否传递 X-Forwarded-Proto

2. 静态资源加载失败

确保 Nginx 有:

proxy_set_header X-Forwarded-Proto $scheme;

3. 端口冲突

确保 Jenkins 没监听 0.0.0.0:8080


如果你用的是 Apache、Docker Jenkins 或 内网穿透(如 frp / ngrok),可以告诉我,我可以给你对应方案。

0 踩