У меня возникает странная ошибка 504 в Apache + mod_wsgi, когда я публикую определенную строку SVG. Бэкэнд-приложение - это 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
Есть какие-нибудь подсказки, что могло быть причиной этого?
Загляните в свой файл httpd.conf и увеличьте значение тайм-аута.
Timeout 600
Сохраните файл и перезапустите apache.