502错误的网关错误-上游从上游读取响应标头时发送了太大的标头

时间:2019-07-31 15:25:57

标签: google-app-engine nginx-config app-engine-flexible google-app-engine-php

我正在Google App Engine中使用wordpress。当我制作POST API时,出现错误:“上游从上游读取响应标头时发送了太大的标头”。返回502,Bad Gateway,nginx

我在POST API中发送的数据(JSON)约为4kb。如果数据发送到2kb以下,API将返回成功。

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

根据此链接: 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;
}

请帮助我解决此问题。

1 个答案:

答案 0 :(得分:1)

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

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