【问题标题】:Request on k8s NGINX ingress controller fails with "upstream sent too big header while reading response header from upstream"k8s NGINX 入口控制器上的请求失败,并显示“在从上游读取响应标头时,上游发送的标头太大”
【发布时间】:2021-07-26 20:04:40
【问题描述】:

当我尝试通过我的 NGINX 入口发送标头大于 4k 的请求时,它返回 502 错误:

[error] 39#39: *356 upstream sent too big header while reading response header from upstream, 
    client: <ip>,
    server: <server>, 
    request: "GET /path/ HTTP/1.1", 
    subrequest: "/_external-auth-Lw", 
    upstream: "<uri>", 
    host: "<host>"
[error] 39#39: *356 auth request unexpected status: 502 while sending to client, 
    client: <ip>, 
    server: <server>, 
    request: "GET /path/ HTTP/1.1", 
    host: "<host>"

我已按照有关如何通过在入口控制器 (nginx.ingress.kubernetes.io/proxy-buffer-size: "16k") 中配置 proxy-buffer-size 据称解决此问题的说明进行操作,但它似乎不起作用。我唯一能想到的是,它与子请求的proxy-buffer-size 有关,似乎没有设置。

【问题讨论】:

    标签: nginx kubernetes nginx-ingress


    【解决方案1】:

    未在 NGINX 配置中的 /_external-auth-Lw 端点上设置 proxy_buffering 标头。自 0.14.0 版起,问题已得到解决。

    【讨论】:

      猜你喜欢
      • 2020-01-15
      • 2017-04-09
      • 2015-10-26
      • 2021-02-04
      • 2019-12-21
      • 2014-11-03
      • 2019-12-09
      • 2018-12-14
      相关资源
      最近更新 更多