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/

相关推荐
开发者联盟league1 小时前
使用Jenkins整合Sonarqube/Gitlab/Harbor/Kubernetes实现CICD
kubernetes·gitlab·jenkins
serve the people11 小时前
Elasticsearch(1) could you tell me how to use es if i am a beginner
大数据·elasticsearch·jenkins
开发者联盟league1 天前
使用jenkins pipeline将项目打包运行在k8s上报错kubectl: Permission denied
java·kubernetes·jenkins
江华森1 天前
Jenkins 运维管理实战博客大纲
运维·jenkins
X1A0RAN1 天前
解决jenkins(本机部署或容器部署)安全机制【CSP】问题
jenkins·allure报告
烧饼Fighting1 天前
Jenkins自动化编译部署Spring Boot项目
spring boot·自动化·jenkins
serve the people1 天前
Elasticsearch(3) show me some examples
大数据·elasticsearch·jenkins
牛奶咖啡131 天前
CI/CD——通过Jenkins插件实现与K8s集成并部署应用到k8s集群的实践保姆级教程
ci/cd·kubernetes·jenkins·jenkins安装k8s插件·jenkins对k8s配置凭据·jenkins配置pod模板·编写流水线脚本部署应用到k8s
serve the people1 天前
Elasticsearch(4) show me some more advanced content
大数据·elasticsearch·jenkins
兄台の请冷静2 天前
Linux 安装es
linux·elasticsearch·jenkins