А какой результат имело это обсуждение? Дело в том, что мне nginx-0.3.33
даёт такую ошибку в логах:
2006/03/17 12:58:10 [alert] 65341#0: *277066 upstream split a header
line in FastCGI records while reading response header from upstream,
client: 1.2.3.4, server: xxx.ru, URL: "/inlinemod.php", upstream:
"fastcgi://10.1.1.5:12000", host: "xxx.ru", referrer:
"http://xxx.ru/inlinemod.php"
Схема работы - nginx + php-fcgi на двух машинках.
Igor Sysoev wrote:
On Sat, 18 Feb 2006, Igor Sysoev wrote:
On Sat, 18 Feb 2006, Grigory Batalov wrote:
On Fri, 17 Feb 2006 19:47:51 +0300 (MSK)
Igor Sysoev <is-G97k7egY2jIKNkxEY4oc4w@xxxxxxxxxxxxxxxx> wrote:
2006/02/17 18:57:51 [alert] 15689#0: *46 upstream split a header in
FastCGI records while reading response header from upstream,
client: 127.0.0.1, server: localhost, URL: "/trac/", upstream:
"fastcgi://127.0.0.1:1027"
...
Это сообщение означает, что fastcgi сервер послал запись stderr
в то время, пока ещё не до конца выведен заголовок ответа (он выводится
в записях stdout). Хотя, судя по логу, записей (type = 7) stderr нет.
Такая обработка stderr во время чтения заголовка - это багофича
nginx'а.
Однако в данном случае, похоже, stderr нет.
Можно сделать следующее:
1) в файле src/http/modules/ngx_http_fastcgi_module.c найти две строки
"upstream split a header in FastCGI records" и поменять в них
split на split1 и split2.
2) запустить nginx с отладочныи логом (желательно поставить
worker_processes 1), сделать запрос и лог прислать мне.
А вот это он пишет при запуске в консоли:
$ /usr/share/trac/cgi-bin/trac.fcgi
Status: 200
Cache-control: must-revalidate
Expires: Fri, 01 Jan 1999 00:00:00 GMT
Content-Type: text/html;charset=utf-8
Content-Length: 196
Он выводит каждый заголовок в стдельной записи, из-за этого и
были проблемы. Прилагаемый патч должен исправить ошибку.
Патчится как раз то место, где стоит split2. Было бы неплохо увидить
вывод и отладочный лог с этим патчем.
Это патч нужно откатить и применить новый.
Игорь Сысоев
http://sysoev.ru
------------------------------------------------------------------------
--- src/http/modules/ngx_http_fastcgi_module.c Mon Nov 28 15:45:01 2005
+++ src/http/modules/ngx_http_fastcgi_module.c Sat Feb 18 22:54:51 2006
@@ -878,7 +878,7 @@
if (f->header) {
ngx_log_error(NGX_LOG_ALERT, r->connection->log, 0,
- "upstream split a header in FastCGI records");
+ "upstream split a header line in FastCGI
records");