Jenkins系统管理页面错误:反向代理设置有误

Jenkins报错截图如下

场景情况

  • 笔者在Linux服务器上部署Jenkins服务
  • 使用1Panel(宝塔的竞品)管理Linux服务器
  • 在上面的应用商店安装Jenkinsdocker容器化方式)
  • 如下

这样的话,通过http的ip端口,就能够访问这个Jenkins服务了,比如:ashuai.site:29876

而后,为了使用ssl证书,笔者使用nginx在29877端口上,做一层代理,把请求转发到29876上的运行的Jenkins服务

如下

nginx 复制代码
# 监听29877端口,处理HTTPS请求
server {
    listen 29877 ssl;
    server_name ashuai.site;
    
    # SSL证书
    ssl_certificate /etc/nginx/certs/ashuai.site.pem;
    ssl_certificate_key /etc/nginx/certs/ashuai.site.key;

    # SSL优化
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_prefer_server_ciphers on;
    ssl_ciphers "EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH";
    ssl_session_cache shared:SSL:10m;
    ssl_session_timeout 10m;

    # 反向代理到现有Jenkins服务
    location / {
            proxy_pass http://localhost:29876;  # Jenkins服务

            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;
            proxy_set_header X-Forwarded-Host $host;
            proxy_set_header X-Forwarded-Port $server_port;

            # 支持Jenkins控制台WebSocket
            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection "upgrade";
    }
}

于是,就可以通过HTTPS的方式访问Jenkins服务做一些CICD的操作了,如下

但是却看到一个报错,告知反向代理错误

这个反向代理错误,并不是nginx配置的错误(容易让人误解)而是,Jenkins初始化安装的时候,使用服务器的ip和后续的域名对应错误导致的

解决方案

我们只需要把Jenkins LocationJenkins URL修改成当前域名端口访问方式即可

实际上,如果提前打开浏览器控制,我们已经能够看到对应的报错提示了

在Jenkins的系统管理页面,点击 系统配置

找到Jenkins LocationJenkins URL

修改成

这样的话,控制台也不会报错了,问题解决

A good memory is better than a bad pen. Record it down...

Jenkins安全漏洞是一个让人有些困扰的问题,笔者建议,可以部署在内网

如果是云服务器的话,可以通过云服务器的安全组的CIDR,设置仅自己的ip能够访问,提高一下安全策略,如下

推荐 1Panel(现代化、开源的Linux服务器运维管理面板)

个人感觉比宝塔更简约好用 1panel.cn/

相关推荐
Ningcode_cloud7 小时前
什么是CICD? GitLab + Jenkins 持续集成实战部署手册
运维·ci/cd·云原生·容器·gitlab·jenkins
tianyuanwo8 小时前
Jenkins 邮件插件选型指南:从命名原理到场景实践
jenkins·plugin·email
姚永强8 小时前
安装Jenkins
运维·jenkins
成茂峰9 小时前
实战:内外网隔离环境下基于 Jenkins + PowerShell 的自动化 CI 构建与邮件通知方案
ci/cd·自动化·jenkins
tianyuanwo1 天前
Jenkins Pipeline 沙箱与非沙箱:CPS、序列化与白名单的深度解读(含 `take()` 与 `subList()` 实战对比)
pipeline·jenkins·groovy·take·sublist
Sayai3 天前
Elasticsearch 快照备份到 NAS(NFS)实战:SLM 自动化 + 365 天保留策略
elasticsearch·自动化·jenkins
zhougl9965 天前
Elasticsearch 7.x vs 8.x
大数据·elasticsearch·jenkins
醉颜凉6 天前
Jenkins与Git集成完全指南:从基础配置到自动触发构建
运维·git·jenkins
醉颜凉7 天前
Elasticsearch核心架构:集群(Cluster)原理详解与核心作用
elasticsearch·架构·jenkins
云间月13148 天前
Elasticsearch 数据怎么看?部署 Kibana,从索引查询到可视化图表
大数据·elasticsearch·jenkins