[英]Request on k8s NGINX ingress controller fails with “upstream sent too big header while reading response header from upstream”
When I try to send a request through my NGINX ingress with headers larger than 4k, it returns a 502 error:当我尝试通过标头大于 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>"
I've followed instructions about how to allegedly resolve this issue by configuring the proxy-buffer-size
in the ingress controller ( nginx.ingress.kubernetes.io/proxy-buffer-size: "16k"
), but it doesn't seem to work.我已按照有关如何通过在入口控制器(
nginx.ingress.kubernetes.io/proxy-buffer-size: "16k"
)中配置proxy-buffer-size
来解决此问题的说明进行操作,但似乎没有上班。 The only thing that I can think of, is that it has something to do with the proxy-buffer-size
of the subrequest, which doesn't seem to get set.我唯一能想到的是,它与子请求的
proxy-buffer-size
有关,它似乎没有设置。
The proxy_buffering header wasn't being set on the /_external-auth-Lw endpoint in the NGINX config.在 NGINX 配置中的 /_external-auth-Lw 端点上未设置 proxy_buffering 标头。 Issue has been resolved as of v. 0.14.0.
从 v. 0.14.0 开始,问题已得到解决。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.