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/

相关推荐
海兰3 天前
Jina Embeddings V5 Text + Elasticsearch 9.x 本地部署指南
elasticsearch·jenkins·jina
luod3 天前
Docker 快速安装Jenkins
java·docker·jenkins
小道仙973 天前
jenkins对接、jenkins-rest
java·servlet·jenkins·jenkins-rest
成为你的宁宁3 天前
Jenkins 自动化部署前后端分离若依项目全攻略:涵盖环境配置、Maven/Node.js 工具安装、GitLab 项目协同,及前后端构建、服务器推送与代码更新验证全步骤
node.js·自动化·gitlab·jenkins·maven
声声长乐3 天前
Jenkins + Docker 完整部署指南
ubuntu·docker·jenkins
古斯塔夫歼星炮3 天前
Dify + Jenkins 实现AI应用持续集成与自动化部署
ci/cd·jenkins·dify
优秀的颜4 天前
Elasticsearch(7.x)集成
大数据·elasticsearch·jenkins
何以不说话4 天前
CICD服务器jenkins
运维·jenkins
海兰6 天前
Elasticsearch Java 客户端(9.x)
java·elasticsearch·jenkins
海兰6 天前
Elasticsearch 9.x Java 异步客户端
java·elasticsearch·jenkins