Доброго времени суток,
Столкнулся с проблемой фунционирования связки nginx/0.5.20 +
Apache/2.0.59 + PHP 4.4.7 на Solaris 10 X64.
Проблема состоит в том, что при отдаче в броузер nginx не отдает полностью
страницу, режет ее близко к концу. При этом сам апач отдает все без проблем,
если запросы направлять на него, минуя nginx.
Проблему удалось частично решить путем установки в php.ini флага
"zlib.output_compression = On", это позволило броузеру получать страницу
нормально, но если внутри страницы есть код на javascript, который сам что
то подгружает с сервера, то он тоже получает не полные данные, обрезанные в
конце. Проверялось на нескольких версиях IE, Firefox. Похоже на то, что где
то бьется header "Content-Length", возможно проблема в PHP.
Подскажите пожайлуста в какую сторону копать? Доверяет ли nginx header'у
"Content-Length" полученному от апача, изменяет ли он его при отдаче
клиенту?
Конфигурация nginx:
-->snip<--
user webservd webservd;
worker_processes 1;
worker_rlimit_nofile 10240;
pid logs/nginx.pid;
events {
worker_connections 8192;
use /dev/poll;
}
http {
include conf/mime.types;
default_type application/octet-stream;
sendfile on;
tcp_nopush on;
tcp_nodelay on;
output_buffers 8 64k;
postpone_output 1460;
keepalive_timeout 75 20;
client_header_timeout 30;
client_body_timeout 60;
send_timeout 120;
ignore_invalid_headers on;
limit_zone one $binary_remote_addr 15m;
server {
listen 80;
server_name calend.ru *.calend.ru;
access_log /dev/null;
error_log /dev/null;
# Main location
location / {
default_type text/html;
ssi off;
proxy_pass http://84.204.96.130: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;
proxy_set_header REQUEST_METHOD $request_method;
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 128 4k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
proxy_buffering on;
proxy_max_temp_file_size 0;
}
# Static files location
location ~*
^.+.(htm|html|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|mid|midi|wa
v|mp3|rtf|js)$ {
ssi off;
root /data/sites/calend.ru/htdocs;
}
# Image files location
location ~* ^.+.(jpg|jpeg|gif|png|ico|bmp)$ {
root /data/sites/calend.ru/htdocs;
expires 1h;
}
}
-->snip<--
--
Kind regards,
Konstantin A. Mikhailov