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/

相关推荐
记得开心一点嘛9 小时前
Elasticsearch
运维·jenkins
oMcLin12 小时前
如何在 Ubuntu 22.04 上部署并优化 Jenkins 2.x 流水线,提升持续集成与自动化测试的效率?
ubuntu·ci/cd·jenkins
世界尽头与你13 小时前
CVE-2024-43044_ Jenkins agent connections 文件读取漏洞
安全·网络安全·渗透测试·jenkins
tianyuanwo13 小时前
TERM变量迷思:从Jenkins节点连接差异看终端仿真与构建系统的微妙关系
运维·ssh·jenkins·java web·term
一勺菠萝丶13 小时前
Jenkins 打包显示 SUCCESS 但产物不全?日志出现 Killed 的排查与解决(小白版)
运维·jenkins
Anakki13 小时前
企业级 Elastic Stack 集成架构:Spring Boot 3.x 与 Elasticsearch 8.x 深度实践指南
运维·jenkins·springboot·elastic search
一只往上爬的蜗牛14 小时前
【Jenkins】Jenkins 中如何在 Build Artifacts 显示自动化测试生成的文件
运维·jenkins
2501_906150561 天前
开源问卷平台DWSurvey开发配置记录
运维·开源·jenkins
一点晖光1 天前
jenkins 流水线脚本
运维·jenkins
num_killer1 天前
小白的Jenkins学习
运维·python·学习·jenkins