发布特定 SVG 字符串时,Apache 和 mod_wsgi 返回 504 错误

发布特定 SVG 字符串时,Apache 和 mod_wsgi 返回 504 错误

当我发布特定的 SVG 字符串时,Apache + mod_wsgi 中出现了奇怪的 504 错误。后端应用程序是 Python Flask,但似乎根本无法访问该应用程序。

以下是返回 504 错误的一个请求:

curl 'https://some.domain.com/api/export/png' --data 'svg=%22%3E%28style' 

下面是另一个返回 200 的示例:

curl 'https://some.domain.com/api/export/png' --data 'svg=%22%3E%28styl' 

不同之处在于我只从 POST 数据中删除了一个字符

SVG 数据被缩减为可能产生错误的最小数据。原始 SVG 字符串要大得多。

apache错误日志中出现的错误是:

[Tue Jun 09 14:27:26 2015] [error] [client 10.5.226.115] (104)Connection  reset by peer: mod_wsgi (pid=19254): Unable to get bucket brigade for request., referer: https://some.domain.com/
[Tue Jun 09 14:27:26 2015] [error] [client 10.5.226.115] mod_wsgi (pid=19252): Exception occurred processing WSGI script '/var/www/ade/src/interface.wsgi'.
[Tue Jun 09 14:27:26 2015] [error] [client 10.5.226.115] IOError: failed to write data

有趣的是,在我发出请求之后,在帖子数据上传完成之前,错误日志中立即出现了错误。

以下是我们拥有的版本号:

Apache/2.2.22 (Ubuntu) 
mod_ssl/2.2.22 
OpenSSL/1.0.1 
mod_wsgi/3.3 
Python/2.7.3

有什么线索可以解释这是什么原因造成的吗?

答案1

查看您的 httpd.conf 文件并增加超时值。

Timeout 600

保存文件并重新启动 apache。

相关内容