Появляется "мусор" в response_body до и после "ожидаемого body"
Bogun Dmitriy
vugluskr at vugluskr.org.ua
Fri Apr 3 01:47:57 MSD 2009
Здравствуйте.
Столкнулся с багом. Скорее всего nginx'а.
Ситуация следующая с ipb форума делается ajax запрос на "быстрое
редактирование" поста. В ответ возвращается страничка у которой в body в
начало и в конец добавлено несколько символов, которых не было в момент
отправки.(Чтобы это проверить я добавил сохранение сформированного
ответа в файл непосредственно перед отдачей клиенту). В начало body
добавляется "8366\n" в конец "\n0". Символы в начале изменяются, в
хвосте всегда 0. Количество символов не меняется...
У глюка есть зависимость от прокси...
Если запрос идет
клиент=>nginx=>apache
глюк проявляется, а если
клиент=>squid=>nginx=>apache
не проявляется.
Размер body ответа, на момент отдачи его из php 31728 байт, но это лишь
пример, я не знаю точную границу объема для этого запроса, после
которого бага начинает проявляться.
Заподозрил что возможно в проблеме виноват сжатие вывода gzip'ом - убрал
из апача mod_deflate и добавил в вхост nginx'а "gzip off;" - сжатие
исчезло, но проблема осталась на месте.
Моя конфигурация.
# nginx -V
nginx version: nginx/0.6.32
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
Конфиг vhost'а
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 http://upstr_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;
}
}
Основной конфиг nginx'а в аттаче.
На upstream'е обычный апач с php'ой.
ОС - Gentoo linux-2.6.25-hardened-r13
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://nginx.org/pipermail/nginx-ru/attachments/20090403/70e94de7/attachment.html>
-------------- next part --------------
user nginx nginx;
worker_processes 2;
error_log /var/log/nginx/error.log info;
events {
worker_connections 1000;
use epoll;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format generic
'[$time_local] '
'rip=$remote_addr lip=$server_addr U=$remote_user '
'H="$host" Q="$request" C=$status S=$bytes_sent '
'utime=$upstream_response_time '
'"$http_referer" "$http_user_agent"';
connection_pool_size 256;
client_header_buffer_size 1k;
large_client_header_buffers 4 2k;
request_pool_size 4k;
client_max_body_size 64m;
client_header_timeout 120;
client_body_timeout 90;
send_timeout 90;
proxy_read_timeout 5m;
proxy_buffer_size 4k;
proxy_buffers 16 4k;
gzip on;
gzip_min_length 1100;
gzip_buffers 4 8k;
gzip_types text/plain;
output_buffers 8 64k;
postpone_output 1460;
sendfile on;
tcp_nopush on;
tcp_nodelay on;
ignore_invalid_headers on;
keepalive_timeout 75 20;
index index.html;
# _dummy_
server {
listen 213.186.117.227 default;
server_name_in_redirect off;
ssi on;
access_log /var/log/nginx/_dummy_-access.log generic;
error_log /var/log/nginx/_dummy_-error.log;
root /srv/_dummy_/www/htdocs;
location ~ /.svn/ {
deny all;
}
}
include /etc/nginx/srv.d/*.conf;
}
More information about the nginx-ru
mailing list