通过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

相关推荐
小醉你真好6 小时前
15、Docker Compose 安装ELK + Filebeat单机版
elk·docker·jenkins
七七七七077 小时前
【Linux 系统】打开文件和文件系统
linux·运维·spring
ManageEngineITSM8 小时前
IT 服务自动化的时代:让效率与体验共进
运维·数据库·人工智能·自动化·itsm·工单系统
QotomPC9 小时前
软件定义的理想硬件平台:Qotom Q30900SE/UE系列在AIO服务器与边缘网关中的实践
运维·服务器
捷智算云服务9 小时前
H200服务器维修服务体系构建:捷智算的全链条保障方案
运维·服务器
hweiyu009 小时前
Linux 命令:mount
linux·运维·服务器
春生野草11 小时前
MobaXterm远程连接云服务器及配置jdk、Tomcat环境
运维·服务器
养生技术人12 小时前
Oracle OCP认证考试题目详解082系列第49题
运维·数据库·sql·oracle·database·开闭原则·ocp
wanhengidc12 小时前
云手机的挂机功能涉及到哪些内容
运维·服务器·网络·游戏·智能手机
菜鸟plus+13 小时前
ElasticSearch
运维·jenkins