ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

nginx + apache + php stripped html problems


  • To: <nginx-ru@xxxxxxxxx>
  • Subject: nginx + apache + php stripped html problems
  • From: "Konstantin A. Mikhailov \(EUT\)" <k.mikhailov@xxxxxx>
  • Date: Fri, 8 Jun 2007 12:10:24 +0400
  • Organization: Eurasia Telecom LLC

Доброго времени суток,

    Столкнулся с проблемой фунционирования связки 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|wav|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



 




Copyright © Lexa Software, 1996-2009.