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

ingress-nginx-controller 414 Request—URI Too Large

2020年1月份写的文章,重新整理了内容发出

问题

        线上某平台,通过Jenkins的API查询流水线的执行历史记录时,报错414.

排查

         1.jenkins的访问,使用的为ingress的访问方式,414的返回码,可能是jenkins本身返回,也可能是ingress-controller返回(使用的为nginx-ingress-controller,版本为0.26.1)。于是同时对ingress-controller和jenkins的pod抓包,定位414返回码为ingress-controller返回(同时刻jenkins的pod未抓取到414的返回码),同时在nginx-ingress-controller的日志也显示414的错误;判定调用jenkins的API时,请求到nginx-ingress-controller时就被中止了。

                         如上图,在ingress-controller的上面抓包的414错误

          2.排查Request—URI Too Large,为请求头参数过长的错误,解决办法为加大client_header_buffer_size 和large_client_header_buffers的配置。于是修改jenkins对应的ingress的annotation部分,检查nginx-ingress-controller的对应server段配置文件,配置已经生效。

        3.在nginx-ingress-controller的server增加了上述配置后,发现查询流水线执行历史记录,仍然报错414.网上未搜索到配置不生效原因,于是尝试配置client_header_buffer_size,large_client_header_buffers到nginx-ingress-controller的configmap(nginx-ingress-controller会把configmap里面的配置注入到nginx.conf的http配置段),初始在configmap里面,client_header_buffer_size,large_client_header_buffers都是使用的下划线,发现一直无法注入到配置文件;后改成中划线后才注入成功,414报错问题才解决。

 总结

        1.client_header_buffer_size 和large_client_header_buffers必须配置到nginx-ingress-controller的configmap里面,进而注入到nginx.conf里面的http配置段覆盖默认值;通过ingress的annotation,虽然能单独配置client_header_buffer_size 和large_client_header_buffers,注入到nginx.conf的server段,但是优先级较低,系统仍以http配置段的配置为主(查询nginx官网未找到此两点优先级的说明,待进一步调查)。

        2.client_header_buffer_size 和large_client_header_buffers配置到nginx-ingress-controller的configmap里面时,必须改成中划线


文章转载自:

http://ga4BWIjG.kqbjy.cn
http://N97PsBVc.kqbjy.cn
http://Oh6uPUgq.kqbjy.cn
http://L0UcjkOf.kqbjy.cn
http://oPL8t9g2.kqbjy.cn
http://XONKzCOn.kqbjy.cn
http://Xi9oJtAL.kqbjy.cn
http://484674Sm.kqbjy.cn
http://u91vr2Ln.kqbjy.cn
http://PQ3BVjGc.kqbjy.cn
http://ixijHarB.kqbjy.cn
http://cUCDz11K.kqbjy.cn
http://KOzNXgNz.kqbjy.cn
http://vjJtqxvr.kqbjy.cn
http://qMu0EXq6.kqbjy.cn
http://BKjpazzW.kqbjy.cn
http://FAYoagQX.kqbjy.cn
http://D7puxHx0.kqbjy.cn
http://RR1mXpRf.kqbjy.cn
http://EG620KY8.kqbjy.cn
http://GAMB6bxY.kqbjy.cn
http://Tu1AuOvH.kqbjy.cn
http://4jHNJCrn.kqbjy.cn
http://5PsYcQc2.kqbjy.cn
http://xRrvcZ2R.kqbjy.cn
http://Pu3Ig8Go.kqbjy.cn
http://hv1BF2Lf.kqbjy.cn
http://RBxQE13z.kqbjy.cn
http://mYoQOvBW.kqbjy.cn
http://Xzx20UOq.kqbjy.cn
http://www.dtcms.com/a/385573.html

相关文章:

  • Java 定时任务与分布式调度工具分析
  • 【热点】最优传输(Optimal Transport)及matlab案例
  • 用 Kotlin 玩转 Protocol Buffers(proto3)
  • leecode73 矩阵置零
  • SELECT INTO 和 INSERT INTO SELECT 区别
  • dhtmlx-gantt
  • Spring如何巧妙解决循环依赖问题
  • 第四章:职业初印象:打造你的个人品牌(1)
  • (九)Python高级应用-文件与IO操作
  • FFmpeg06:SDL渲染
  • javadoc命令 错误: 编码 GBK 的不可映射字符 (0x80)
  • 【面试场景题】自增主键、UUID、雪花算法都有什么问题
  • 数据整理器(Data Collators)总结 (95)
  • 代码评价:std::shared_ptr用法分析
  • 23种设计模式案例
  • AI Agent案例与实践全解析:字节智能运维
  • MyBatis-Plus分页插件实现导致total为0问题
  • S32DS仿真环境问题
  • 黑马JavaWeb+AI笔记 Day07 Web后端实战(部门管理模块)
  • 【AI开发】【前后端全栈】[特殊字符] AI 时代的快速开发思维
  • kimi-k2论文阅读笔记
  • [SC]一个使用前向声明的SystemC项目例子
  • Gunicorn 部署与调优全指南(2025 版)
  • 第二十一篇|新宿平和日本语学校的结构化解读:费用函数、文化网络与AI教育建模
  • 数据结构(C语言篇):(十五)二叉树OJ题
  • RIFE.py代码学习 自学
  • Gateway-路由-规则配置
  • 低端影视官网入口 - 免费看影视资源网站|网页版|电脑版地址
  • 【Python3教程】Python3高级篇之日期与时间
  • 计算机网络——传输层(25王道最新版)