3

我在 Google App Engine 中使用 wordpress。当我创建一个 POST API 时,得到一个错误:“从上游读取响应标头时,上游发送了太大的标头”。返回 502, Bad Gateway, nginx

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

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

根据此链接: 上游在从上游读取响应标头时发送了太大的标头

使用缓冲区修改 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;
}

请帮我解决这个问题。

4

1 回答 1

1

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

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

于 2019-07-31T18:30:47.497 回答