<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 TRANSITIONAL//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=UTF-8">
<META NAME="GENERATOR" CONTENT="GtkHTML/3.24.5">
</HEAD>
<BODY>
Здравствуйте.<BR>
<BR>
Столкнулся с багом. Скорее всего nginx'а.<BR>
<BR>
Ситуация следующая с ipb форума делается ajax запрос на "быстрое редактирование" поста. В ответ возвращается страничка у которой в body в начало и в конец добавлено несколько символов, которых не было в момент отправки.(Чтобы это проверить я добавил сохранение сформированного ответа в файл непосредственно перед отдачей клиенту). В начало body добавляется "8366\n" в конец "\n0". Символы в начале изменяются, в хвосте всегда 0. Количество символов не меняется...<BR>
<BR>
У глюка есть зависимость от прокси...<BR>
Если запрос идет
<PRE>
клиент=>nginx=>apache
</PRE>
глюк проявляется, а если
<PRE>
клиент=>squid=>nginx=>apache
</PRE>
не проявляется.<BR>
<BR>
Размер body ответа, на момент отдачи его из php 31728 байт, но это лишь пример, я не знаю точную границу объема для этого запроса, после которого бага начинает проявляться.<BR>
<BR>
Заподозрил что возможно в проблеме виноват сжатие вывода gzip'ом - убрал из апача mod_deflate и добавил в вхост nginx'а "gzip off;" - сжатие исчезло, но проблема осталась на месте.<BR>
<BR>
Моя конфигурация.<BR>
# nginx -V<BR>
nginx version: nginx/0.6.32<BR>
configure arguments: --prefix=/usr --conf-path=/etc/nginx/nginx.conf --http-log-path=/var/log/nginx/access_log --error-log-path=/var/log/nginx/error_log --pid-path=/var/run/nginx.pid --http-client-body-temp-path=/var/tmp/nginx/client --http-proxy-temp-path=/var/tmp/nginx/proxy --http-fastcgi-temp-path=/var/tmp/nginx/fastcgi --with-md5-asm --with-md5=/usr/include --with-sha1-asm --with-sha1=/usr/include --without-http_fastcgi_module --with-http_ssl_module --with-http_stub_status_module --add-module=/var/tmp/portage/www-servers/nginx-0.6.32/work/nginx_uploadprogress_module<BR>
<BR>
Конфиг vhost'а
<PRE>
upstream upstr_some_forum {
server 127.0.1.50;
server 127.0.100.50 backup;
}
server {
listen a.b.c.d;
server_name .some-forum.ru;
access_log /srv/some-forum.ru/log/nginx/access.log;
access_log /var/log/nginx/some-forum-access.log generic;
error_log /var/log/nginx/some-forum-error.log info;
location ~ ^/(style_(?:images|emoticons|avatars|captcha)|uploads|jscripts|cache).*\.(?:js|css|gif|png|jpe?g|html)$ {
root /srv/some-forum.ru/www/htdocs/$1/;
expires 7d;
}
location / {
proxy_pass <A HREF="http://upstr">http://upstr</A>_some_forum;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
</PRE>
Основной конфиг nginx'а в аттаче.<BR>
На upstream'е обычный апач с php'ой. <BR>
ОС - Gentoo linux-2.6.25-hardened-r13
</BODY>
</HTML>