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