当前位置: 首页 > news >正文

nginx报400bad request 请求头过大异常处理

问题:用户登陆系统后进行操作,访问后端接口服务时前端出现400异常;

排查:

经过前端服务器日志(nginx)分析,在路由后端服务接口时出现问题。对用户操作进行复现,F12查看错误接口信息,发现接口请求头内容太多(请求头内带有的登陆用户及其所有权限信息)。

问题解决:

1、前端调整:

nginx配置增加:

http {# 常规请求头缓冲区client_header_buffer_size 16k;# 大请求头缓冲区设置large_client_header_buffers 4 256k;# 请求头超时时间client_header_timeout 60s;# 限制单个头字段大小http2_max_field_size 64k;http2_max_header_size 512k;server {listen 80;server_name example.com;# 服务器级别的覆盖设置client_header_buffer_size 32k;large_client_header_buffers 8 32k;location / {# 特定 location 的设置client_header_buffer_size 64k;large_client_header_buffers 4 64k;}}
}

2、后端调整

后端容器服务增加配置:

        env:- name: SERVER_MAX_HTTP_HEADER_SIZEvalue: "262144"- name: SPRING_CLOUD_GATEWAY_HTTPCLIENT_MAX_HEADER_SIZEvalue: "262144"- name: JAVA_OPTSvalue: "-Xmx512m -Xms256m -Dserver.max-http-header-size=262144"

3、ingress配置修改:

# 更新 nginx-ingress configmap
kubectl edit configmap nginx-config -n ingress-nginx# 或者通过 helm 安装时配置
helm upgrade ingress-nginx ingress-nginx/ingress-nginx \--namespace ingress-nginx \--set controller.config.proxy-buffer-size="128k" \--set controller.config.large-client-header-buffers="8 128k" \--set controller.config.http2-max-header-size="512k"

备注:

模拟大请求头访问方法

# 测试直接响应
echo "1. 测试直接响应:"
curl -s -H "X-Test-Large: $(printf '%*s' 50000 | tr ' ' 'A')" \http://nginx-service/debug-direct

http://www.dtcms.com/a/490970.html

相关文章:

  • react+springboot云上部署
  • Google 地图类型
  • 免费网站做企业的网站都要准备什么
  • 网站建设往年的高考题免费看电视的网站有哪些
  • STM32N6 KEIL IDE 调试XIP 应用的一种方法 LAT1575
  • 大模型微调(二):使微调保持稳定的策略
  • 前端调优23大规则(Part 4)
  • SpringBoot-入门介绍
  • 如何推动AI技术在企业管理中的商业化落地?
  • 淘宝网站建设的策划书产品软文案例
  • 复制带随机指针的链表
  • Promise 与 async/await
  • win11 字体变宽问题
  • 最好的做网站机械加工网站色彩搭配
  • Pytorch Yolov11目标检测+Android部署 留贴记录
  • iis 发布网站 404archlinux+wordpress
  • leetcode 2598. 执行操作后的最大 MEX 中等
  • SuperMap iObject Java实现倾斜数据预处理
  • 逻辑方阵(Logical Square)解说
  • Vue与React中动态导入的原理及实现差异解析
  • 有一个网站自己做链接获取朋友位置传媒公司属于什么行业类型
  • 服饰类电商网站建设策划昆山vi设计
  • aben.co微端侧模型价格实惠的服务商
  • 网站开发思维导图内容如何做一个单页面的网站
  • 【Qt】7.信号和槽_connect函数用法(2)
  • 网站的建设流程具体有哪些哪个合肥seo好
  • 大连公司网站建设站点与网站有什么区别
  • 高压混动救援的 “及时雨”:XRC-3363 系列救援充电器实操解析与安全要点
  • 玛哈特激光落料线:一条会“思考”的钢铁流水线
  • 《爬虫进阶之路:从模拟浏览器到破解动态加载的实战指南》