我正在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;
}
请帮助我解决此问题。
答案 0 :(得分:1)
这是预期的行为,因为App Engine的Nginx配置使用默认的proxy_buffer_size为4K。
解决方法是发出累计低于此限制的HTTP标头。有一个开放功能要求以增加此功能,但是似乎不太可能增加到128K。如果增加到128K是您的用例的唯一解决方案,我建议使用此issue tracker为其创建一个请求,并包括业务影响以说明对该功能的需求。