Привет, Покажите заголовки запросов.
Спасибо. 22 августа 2013 г., 16:06 пользователь aler <nginx-fo...@nginx.us> написал: > Всем, привет ! > Я уже поднимал данную проблему, но решил создать еще один топик с полной > информацией. > Итак, NGINX: > > nginx version: nginx/1.4.1 > built by gcc 4.1.2 20080704 (Red Hat 4.1.2-54) > TLS SNI support disabled > configure arguments: --user=nginx --group=nginx --prefix=/usr/share/nginx > --sbin-path=/usr/sbin/nginx --conf-path=/etc/nginx/nginx.conf > --error-log-path=/var/log/nginx/error.log > --http-log-path=/var/log/nginx/access.log > --http-client-body-temp-path=/var/lib/nginx/tmp/client_body > --http-proxy-temp-path=/var/lib/nginx/tmp/proxy > --http-fastcgi-temp-path=/var/lib/nginx/tmp/fastcgi > --pid-path=/var/run/nginx.pid --lock-path=/var/lock/subsys/nginx > --with-http_secure_link_module --with-http_random_index_module > --with-http_ssl_module --with-http_realip_module > --with-http_addition_module > --with-http_sub_module --with-http_dav_module --with-http_flv_module > --with-http_gzip_static_module --with-http_stub_status_module > --with-http_perl_module --with-http_xslt_module --with-debug --with-mail > --with-mail_ssl_module --with-cc-opt='-O2 -g -m64 -mtune=generic' > --with-ipv6 > --add-module=/usr/src/redhat/BUILD/nginx-1.4.1/nginx-upstream-fair > --add-module=/usr/src/redhat/BUILD/nginx-1.4.1/nginx-upload-progress-module > --add-module=/usr/src/redhat/BUILD/nginx-1.4.1/mod_zip > --add-module=/usr/src/redhat/BUILD/nginx-1.4.1/nginx_mod_h264_streaming > --add-module=/usr/src/redhat/BUILD/nginx-1.4.1/nginx-push-stream-module > --add-module=/usr/src/redhat/BUILD/nginx-1.4.1/nginx_upstream_hash > --add-module=/usr/src/redhat/BUILD/nginx-1.4.1/nginx-memcached-hash-pass > --add-module=/usr/src/redhat/BUILD/nginx-1.4.1/echo-nginx-module > > --add-module=/usr/src/redhat/BUILD/nginx-1.4.1/ngx_http_gunzip_filter_module > --add-module=/usr/src/redhat/BUILD/nginx-1.4.1/headers-more-nginx-module > > > Есть back-end (JBOSS) и front-end (NGINX). На nginx настроено проксирование > и включен keep-alive: > > http{ > ... > keepalive_timeout 45 45; > keepalive_requests 1000; > ... > } > > ... > > server{ > ... > location /our-portal/ { > proxy_pass http://127.0.0.1:8080; > break; > error_page 404 = @404; > error_page 502 = @502; > error_page 504 = @504; > } > ... > } > > если дергать нужный мне ресурс напрямую с back-end(JBOSS), то приходит > следующий заголовок: > > Заголовок ответа: > --------------------------------------------------------------- > Accept-Ranges bytes > Cache-Control no-cache > Content-Type application/x-javascript; charset=UTF-8 > Date Thu, 22 Aug 2013 11:46:04 GMT, Thu, 22 Aug 2013 > 11:46:04 > GMT > Server Restlet-Framework/2.0.14 > Transfer-Encoding chunked > Vary Accept-Charset, Accept-Encoding, Accept-Language, > Accept > --------------------------------------------------------------- > > Если делать запрос через front-end, то NGINX возвращает следующее: > --------------------------------------------------------------- > Cache-Control no-cache > Connection close > Content-Encoding gzip > Content-Type application/x-javascript; charset=UTF-8 > Date Thu, 22 Aug 2013 11:45:25 GMT > Server nginx > Vary Accept-Encoding, Accept-Charset, Accept-Encoding, > Accept-Language, Accept > --------------------------------------------------------------- > > Как видно из последнего запроса, nginx шлет ответ клиенту и не позволяет > переиспользовать имеющийся коннекшн, присылая "Connection : close". Это > касается всех ресурсов, которые запрашивает nginx c back-end. > Если ресурс на nginx не пробрасывается на прокси или данные берутся из > memcached (подключен соответсвующий модуль), то nginx исправно присылает > "Connection : keep-alive". > Как побороть данную проблему ? Как заставить nginx возвращать keep-alive > соединения клиенту при получении данных с прокси ? > > Есть предположение, что он это делает, поскольку данные - динамические, и > nginx не знает размер данных, отдаваемых клиенту, и для страховки запрещает > переиспользовать соединение, по которому передаются данные неизвестного > размера. Были мысли, чтобы nginx буферизировал данные с прокси, а потом > проставлял размер ответа и возвращал keep-alive (не врядли это возможно). С > другой стороны согласно документации Http-1.1 позволяет использовать > keep-alive совместно с chunked. > > Есть какие-то мысли относительно данной проблемы ? > Заранее благодарю всех, кто откликнется! > > Posted at Nginx Forum: > http://forum.nginx.org/read.php?21,242120,242120#msg-242120 > > _______________________________________________ > nginx-ru mailing list > nginx-ru@nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru -- Viacheslav Biriukov BR http://biriukov.me
_______________________________________________ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru