Ubuntu 14.04 / apache 2.4 通过 mod_proxy_fcgi 使用 php5-fpm 返回错误的分块编码

Ubuntu 14.04 / apache 2.4 通过 mod_proxy_fcgi 使用 php5-fpm 返回错误的分块编码

没有看到任何地方报告此问题。使用 Apache 2.4 时php5-fpmmod_proxy_fcgi分块编码内容的最后一个空块似乎丢失了。

  • Firefox 和 IE 挂起直至连接超时。

  • Chrome 报告此错误:

    net::ERR_INCOMPLETE_CHUNKED_ENCODING
    
  • curl -vi --raw给出以下消息:

    * transfer closed with outstanding read data remaining
    * Closing connection 0
    curl: (18) transfer closed with outstanding read data remaining
    

问题出现在使用 WordPress 和以下 Apache 配置的网站上:

<VirtualHost *:80>
        ServerName test.ingenie.net
        DocumentRoot /srv/sites/test/www/
        FallbackResource /index.php
        ProxyPassMatch "^/(.*\.php)$" "fcgi://127.0.0.1:11001/srv/sites/test/www/$1"
        <Directory /srv/sites/test/www/>
                AllowOverride AuthConfig Limit Options
        </Directory>
</VirtualHost>

PHP-FPM 池是:

[default]
user = www-data
group = www-data
listen = 127.0.0.1:11001
listen.owner = www-data
listen.group = www-data
listen.mode = 0660
listen.allowed_clients = 127.0.0.1
pm = dynamic
pm.max_children = 256
pm.start_servers = 15
pm.min_spare_servers = 10
pm.max_spare_servers = 20
pm.status_path = /status
ping.path = /ping
slowlog = /var/log/apache2/php5-fpm-slow.log
request_slowlog_timeout = 60s
chdir = /

我不知道这是否是 WordPress 特有的问题,但我的服务器上的所有 WordPress 网站都存在同样的问题,而且我无法使用简单的 PHP 网站重现该问题。

我使用 WordPress 创建了一个测试站点来查看问题:http://test.ingenie.net/

目前我并不是真正寻求帮助,因为我已经使用 解决了这个问题mod_fastcgi,但我认为其他人可能有同样的问题,并且它可能有助于找到与 Ubuntu 14.04 LTS 相关的错误。

相关内容