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

相关推荐
闲云一鹤1 天前
nginx 快速入门教程 - 写给前端的你
前端·nginx·前端工程化
碳基沙盒1 天前
OpenClaw 多 Agent 配置实战指南
运维
蝎子莱莱爱打怪4 天前
Centos7中一键安装K8s集群以及Rancher安装记录
运维·后端·kubernetes
何中应4 天前
Nginx转发请求错误
前端·后端·nginx
DianSan_ERP5 天前
电商API接口全链路监控:构建坚不可摧的线上运维防线
大数据·运维·网络·人工智能·git·servlet
呉師傅5 天前
火狐浏览器报错配置文件缺失如何解决#操作技巧#
运维·网络·windows·电脑
不是二师兄的八戒5 天前
Linux服务器挂载OSS存储的完整实践指南
linux·运维·服务器
芝士雪豹只抽瑞克五5 天前
Nginx 高性能Web服务器笔记
服务器·nginx
zhangfeng11335 天前
趋动云 如何ssh登录 服务区 项目server
运维·人工智能·ssh