module_xslt не отдает результат в браузеры

Холстинников Григорий scarych на yandex.ru
Вт Авг 17 12:33:33 MSD 2010


Всем привет!
Столкнулся со странной и внезапной проблемой: xslt преобразование не отдает ответ в браузеры, возвращая вместо него 500 Internal Server error. И в то же время при запросе из командной строки curl http://addr - требуемый ответ (при этом правильно трансформированный!) отдается как надо.

При этом в логах происходит следующее.

При запросе через curl
access.log
192.168.1.1 - - [17/Aug/2010:12:22:34 +0400] "GET /favicon.ico HTTP/1.1" 404 305 "-" "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/533.4 (KHTML, like Gecko) Chrome/5.0.375.126 Safari/533.4"

и т.д. для других браузеров

error.log - empty

При запросе из браузера:
access.log

192.168.1.1 - - [17/Aug/2010:12:26:55 +0400] "GET /avtosalon/buyin/ HTTP/1.1" 500 595 "-" "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/533.4 (KHTML, like Gecko) Chrome/5.0.375.126 Safari/533.4" -- хром
192.168.1.1 - - [17/Aug/2010:12:27:20 +0400] "GET /avtosalon/buyin HTTP/1.1" 500 595 "-" "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; WebMoney Advisor; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; InfoPath.1)" -- ИЕ

error.log

2010/08/17 12:21:34 [error] 15159#0: *34 libxml2 error: "Document is empty" while sending to client, client: 192.168.1.1, server: avtom2.gh.sharkdg.com, request: "GET /avtosalon/buyin/?_xrand_=render HTTP/1.1", upstream: "http://127.0.0.1:8088/avtosalon/buyin/?_xrand_=render", host: "avtom2.gh.sharkdg.com"
2010/08/17 12:21:34 [error] 15159#0: *34 xmlParseChunk() failed, error:4 while sending to client, client: 192.168.1.1, server: avtom2.gh.sharkdg.com, request: "GET /avtosalon/buyin/?_xrand_=render HTTP/1.1", upstream: "http://127.0.0.1:8088/avtosalon/buyin/?_xrand_=render", host: "avtom2.gh.sharkdg.com"


Конфиг выглядит чрезвычайно просто:
Проксирование на бэкенд, который отдает xml, который следует трансформировать.

 server {
        listen   80;
        server_name  avtom2.gh.sharkdg.com;

        access_log  /var/log/nginx.localhost.access.log;
        #access_log /dev/null;
        error_log  /var/log/nginx.localhost.error.log warn;
        #error_log /dev/null crit;


        location / {

                 proxy_pass         http://127.0.0.1:8088/;
                 proxy_redirect     off;
                 proxy_set_header   Host             $host;
                 proxy_set_header   X-Real-IP        $remote_addr;
                 proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
                 client_max_body_size       10m;
                 client_body_buffer_size    128k;
                 proxy_connect_timeout      90;
                 proxy_send_timeout         90;
                 proxy_read_timeout         90;
                 proxy_buffer_size          4k;
                 proxy_buffers              4 32k;
                 proxy_busy_buffers_size    64k;
                 proxy_temp_file_write_size 10m;

                 xml_entities    /www/gh.sharkdg.com/avtom2/resources/xslt/entities.dtd;
                 xslt_stylesheet    /www/gh.sharkdg.com/avtom2/resources/xslt/render/avtomanager.main.xslt;

                 }
    }

Гугль по ключевым словам из error.log ничем не помог.
nginx сконфигурирован в простейшей вариации ./configure --with-http_xslt_module
Что это может быть? Где смотреть? Что править? Может я что-то ключевое пропустил в конфиге?
Os - Ubuntu server 9.04

Спасибо.



Подробная информация о списке рассылки nginx-ru