繁体   English   中英

k8s NGINX 入口控制器上的请求失败,并显示“从上游读取响应标头时上游发送的标头太大”

[英]Request on k8s NGINX ingress controller fails with “upstream sent too big header while reading response header from upstream”

当我尝试通过标头大于 4k 的 NGINX 入口发送请求时,它返回 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 配置中的 /_external-auth-Lw 端点上未设置 proxy_buffering 标头。 从 v. 0.14.0 开始,问题已得到解决。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM