502 Bad Gateway error - upstream sent too big header while reading response header from upstream

502 Bad Gateway error - upstream sent too big header while reading response header from upstream

我在 Google App Engine 中使用 wordpress。当我创建 POST API 时,出现错误:"upstream sent too big header while reading response header from upstream"。其中 returns 502,网关错误,nginx

我在 POST API 中发送的数据 (JSON) 大约为 4kb。如果数据发送低于 2kb API returns 成功.

我尝试了 App Engine 标准和灵活环境,但遇到了同样的问题。

根据这个 link: upstream sent too big header while reading response header from upstream

使用缓冲区修改 nginx-app.config 文件将解决此问题。但是没用。

在 App Engine 中,默认的 nginx-app.config 看起来像。

location / {
    try_files $uri /index.php?q=$uri&$args;
}

location ~ ^/wp-admin {
    try_files $uri $uri/index.php?$args;
}

不确定我需要在哪里添加这些代理缓冲区。

我尝试在默认位置添加代理缓冲区,如下所示,但没有帮助。

location / {
    try_files $uri /index.php?q=$uri&$args;
    fastcgi_buffers 16 16k;
    fastcgi_buffer_size 32k;
    proxy_buffer_size 128k;
    proxy_buffers 4 256k;
    proxy_busy_buffers_size 256k;
}

请帮我解决这个问题。

这是预期的行为,因为 App Engine 的 nginx 配置使用默认值 proxy_buffer_size,即 4K。

解决方法是发出累计低于此限制的 HTTP headers。有一个开放的功能请求来增加它,但它似乎不太可能增加到 128K。如果增加到 128K 是您用例的唯一解决方案,我建议使用 issue tracker 为此创建一个请求,并包括业务影响以说明对该功能的需求。