通过AWS ALB Nginx代理Jenkins引发的一个问题

问题描述

研发同事反映,部分浏览器访问jenkins会返回 "400 Bad Request: The plain HTTP request was sent to HTTPS port"

URL由https://a.example.com/jenkins跳转成http://a.example.com:443/jenkins,主要在登录和注销时出现错误

原因

由于前端代理为https,但jenkins页面中加载的众多js中多为动态加载,如果后端是http,动态加载的js就会走http,导致js报错从而导致一些功能不能用,这样浏览器就会产生400错误

解决方法

在nginx.conf中jenkins对应的location中增加proxy_set_header X-Forwarded-Proto $scheme;,正确识别实际用户发出的协议是http还是https

相关推荐
UP_Continue6 分钟前
Linux--进程状态
linux·运维·服务器
C++ 老炮儿的技术栈7 分钟前
KUKA机器人程序抓料
linux·运维·c语言·人工智能·机器人·库卡
紫神9 分钟前
不重启节点情况下删除rook-ceph
linux·运维·服务器·rook-ceph
Source.Liu17 分钟前
【Ubuntu】文件与目录管理命令
linux·运维·ubuntu
Elastic 中国社区官方博客20 分钟前
Agent Builder,超越聊天框:推出增强型基础设施
大数据·运维·人工智能·elasticsearch·搜索引擎·ai·全文检索
周公挚友1 小时前
centos 7.9 防火墙
linux·运维·centos
宇钶宇夕1 小时前
CoDeSys入门实战一起学习(十六):采样跟踪功能详解
运维·自动化·软件工程
梁正雄1 小时前
linux服务-麒麟10安装sqlserver
linux·运维·sqlserver
飞Link1 小时前
cmd、powershell、linux下命令对比
linux·运维·服务器
zabbix研究生1 小时前
2026全栈运维监控平台选型指南:主流产品深度对比
运维