При использовании nginx-push-stream-module (+ родной JS FM pushstream.js ) и nginx 1.6 неожиданно появилась проблема: крутится спин (загрузка) и 'ожидаю хост ...' и так до таймаута указанного в параметре push_stream_longpolling_connection_ttl, в этот промежуток оставшийся JS недогружается до окончания таймаута...(document.ready). Такое поведение при загрузке каждой страницы. Используется схема лонг-пулл.
Логика хостов примерно следующая: rpl.*.site.ru - push *.site.ru - web в JS более чем стандартно, приводить не имеет смысла, в конфиге nginx в общем-то тоже. проблема решается только усечением ttl до 1 секунды, но это как-то неправильно, совсем... трое суток экспериментов не принесли результата ... может кто сталкивался? http { push_stream_shared_memory_size 60m; push_stream_max_channel_id_length 150; push_stream_max_messages_stored_per_channel 100; push_stream_timeout_with_body off; ..... server { server_name rpl.site.ru; access_log off; sendfile off; charset utf-8; include conf.d/header_set; location /pub { push_stream_publisher admin; push_stream_store_messages on; push_stream_channel_info_on_publish on; push_stream_channels_path $arg_id; client_max_body_size 256k; client_body_buffer_size 256k; allow 127.0.0.1; } location ~ /sub/(.*) { push_stream_subscriber long-polling; push_stream_channels_path $1; push_stream_last_received_message_tag $arg_tag; push_stream_last_received_message_time $arg_time; push_stream_longpolling_connection_ttl 1s; push_stream_message_template "{\"id\":~id~,\"channel\":\"~channel~\",\"text\":~text~,\"tag\":\"~tag~\" итд.. add_header 'Access-Control-Allow-Origin' $allow_origin; add_header 'Access-Control-Allow-Credentials' 'true'; add_header 'Access-Control-Allow-Methods' 'GET, OPTIONS'; add_header 'Access-Control-Allow-Headers' $acah; add_header 'Access-Control-Expose-Headers' 'ETag'; add_header 'Last-Modified' ''; if ($request_method = OPTIONS) { return 204; } } .... } в JS : var pushstream = new PushStream({ host: rplhost, timeout: 20000, urlPrefixLongpolling: '/sub', modes: "longpolling" }); pushstream.onmessage = rpl_messageReceived; pushstream.onstatuschange = rpl_messageStatus; pushstream.removeAllChannels(); pushstream.addChannel('n_...'); pushstream.addChannel('n_...'); ..... pushstream.connect(); собственно все ... от чего такие тормоза? не может быть что у всех так работает (не работает) .. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,250930,250930#msg-250930 _______________________________________________ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru