Apache 2.4 + PHP-FPM + Chromelogger(如何增加 HTTP 标头长度限制?)

Apache 2.4 + PHP-FPM + Chromelogger(如何增加 HTTP 标头长度限制?)

我正在运行 Apache 2.4 + PHP-FPM 设置。

不过,有一种极端情况,即当使用 Chromelogger 时,此设置会失败。Chromelogger 是一种服务器到客户端调试工具,它通过 HTTP 标头将其数据发送到浏览器。标头的值通常很长,这会导致 mod_proxy_fcgi 失败并出现以下错误:

[proxy_fcgi:error] [pid 10452:tid 1912] [client 127.0.0.1:61175] Premature end of script headers: index.php
[proxy_fcgi:error] [pid 10452:tid 1912] [client 127.0.0.1:61175] AH01070: Error parsing script headers

我尝试增加 Apache 的 LimitRequestFieldSize,但对这个问题没有影响。

我的设置简而言之如下:

httpd.conf:

LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so

...

<Files ~ "\.(php|phtml)$">
    SetHandler "proxy:fcgi://127.0.0.1:9072#"
</Files>

php.ini

cgi.fix_pathinfo=0

附注:当 PHP 作为模块运行时,不会出现此问题,但当 PHP 作为非 FPM FastCGI 运行时,就会出现此问题。

导致错误的标头在 GET 请求中返回。“X-ChromeLogger-Data”的值长度为 18716 个字符。该值本身是一个 base64 编码的 json 对象。

我在 mod_proxy 或 mod_proxy_fcgi 中找不到任何可以增加标头限制的变量。
我遗漏了什么?还有其他 Apache 变量可以在这种情况下提供帮助吗?

谢谢。

相关内容