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

相关推荐
门思科技2 分钟前
LoRaWAN通信协议详解:架构、加密机制与核心应用
运维·服务器·网络·嵌入式硬件·物联网
乐维_lwops14 分钟前
2025年运维监控建设重点是什么?
运维·监控系统·it监控
二进制coder21 分钟前
Linux RTC 驱动子系统详细实现方案
linux·运维·实时音视频
淮北49430 分钟前
linux系统学习(10.shell基础)
linux·运维·服务器·学习
视觉震撼1 小时前
RDP登录事件详细溯源分析脚本(兼容Windows PowerShell版本)
运维·网络·windows·网络安全·网络攻击模型·安全威胁分析·安全架构
noravinsc1 小时前
两台 centos 7.9 部署 pbs version 18.1.4 集群
linux·运维·centos
你的微笑,乱了夏天1 小时前
linux centos常用命令整理
linux·运维·centos
网硕互联的小客服2 小时前
Windows2008 如何禁用FSO?
运维·服务器·网络·windows·安全
塔能物联运维2 小时前
物联网运维中的多模态数据融合与智能决策优化技术
运维·物联网
xingyue_S2 小时前
LVS负载均衡群集(一) -- NAT模式
运维·负载均衡·lvs