From nginx-forum на nginx.us Tue Sep 1 09:41:33 2015 From: nginx-forum на nginx.us (ekassir) Date: Tue, 01 Sep 2015 05:41:33 -0400 Subject: =?UTF-8?B?0J3QtSDQv9GA0LjQvNC10L3Rj9GC0LXRgdGPINGB0L/QuNGB0L7QuiDRgNCw0Lc=?= =?UTF-8?B?0YDQtdGI0ZHQvdC90YvRhSDQv9GA0L7RgtC+0LrQvtC70L7QsiBTU0wu?= Message-ID: <5de3fc7a2c0146546499fd5c4bb0ff53.NginxMailingListRussian@forum.nginx.org> Здравствуйте, товарищи. Критичная проблема, не могу победить уже почти 4 дня. Прошу квалифицированной помощи. Nginx используется в качестве reverse-proxy. Столкнулся с проблемой отсутствия реакции Nginx на конкретные параметры конфига: Браузер подключается по TLSv1.2, тогда как в конфиге виртуального сервера указано, например: ssl on; ssl_protocols SSLv3; ssl_prefer_server_ciphers Off; # данный параметр также не влияет на доступность выбранного протокола Следующие проверки показывают доступность только TLSv1.1 и TLSv1.2, вне зависимости от того, какой конфиг прописан: 1) https://www.ssllabs.com/ssltest/ 2) openssl s_client -tls1_1 -connect hostname:443 < /dev/null 3) sslyze --regular hostname Переопределения разрешённых протоколов на уровне nginx.conf нет. Для каждого проксируемого сервера прописываются свои параметры шифрования, файлы конфигов лежат в директории sites-enabled. Думал, что проблема в несовместимости с версией OpenSSL: "The TLSv1.1 and TLSv1.2 parameters are supported starting from versions 1.1.13 and 1.0.12, so when the OpenSSL version 1.0.1 or higher is used on older nginx versions, these protocols work, but cannot be disabled." Собрал из исходников свежую версию. Не помогло. Вывод nginx -V nginx version: nginx/1.8.0 built by gcc 4.4.7 20120313 (Red Hat 4.4.7-3) (GCC) built with OpenSSL 1.0.1e-fips 11 Feb 2013 TLS SNI support enabled configure arguments: --prefix=/etc/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 --pid-path=/var/run/nginx.pid --lock-path=/var/run/nginx.lock --http-client-body-temp-path=/var/cache/nginx/client_temp --http-proxy-temp-path=/var/cache/nginx/proxy_temp --http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp --http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp --http-scgi-temp-path=/var/cache/nginx/scgi_temp --user=nginx --group=nginx --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_mp4_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_random_index_module --with-http_secure_link_module --with-http_stub_status_module --with-http_auth_request_module --with-mail --with-mail_ssl_module --with-file-aio --with-ipv6 --with-http_spdy_module --with-cc-opt='-O2 -g -pipe -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic' Вывод openssl version: OpenSSL 1.0.1p 9 Jul 2015 Posted at Nginx Forum: http://forum.nginx.org/read.php?21,261349,261349#msg-261349 From alex.hha на gmail.com Tue Sep 1 09:56:42 2015 From: alex.hha на gmail.com (Alex Domoradov) Date: Tue, 1 Sep 2015 12:56:42 +0300 Subject: =?UTF-8?B?UmU6INCd0LUg0L/RgNC40LzQtdC90Y/RgtC10YHRjyDRgdC/0LjRgdC+0Log0YA=?= =?UTF-8?B?0LDQt9GA0LXRiNGR0L3QvdGL0YUg0L/RgNC+0YLQvtC60L7Qu9C+0LIgU1NM?= =?UTF-8?B?Lg==?= In-Reply-To: <5de3fc7a2c0146546499fd5c4bb0ff53.NginxMailingListRussian@forum.nginx.org> References: <5de3fc7a2c0146546499fd5c4bb0ff53.NginxMailingListRussian@forum.nginx.org> Message-ID: Проверил на CentOS 6 и nginx-1.8.0 из репы # openssl s_client -ssl3 -connect 46.xxx.xxx.xxx:443 -servername www.example.net ... New, TLSv1/SSLv3, Cipher is ECDHE-RSA-AES128-SHA Server public key is 4096 bit Secure Renegotiation IS supported Compression: NONE Expansion: NONE SSL-Session: Protocol : SSLv3 Cipher : ECDHE-RSA-AES128-SHA # nginx -v nginx version: nginx/1.8.0 # nginx -V nginx version: nginx/1.8.0 built by gcc 4.4.7 20120313 (Red Hat 4.4.7-3) (GCC) built with OpenSSL 1.0.1e-fips 11 Feb 2013 TLS SNI support enabled configure arguments: --prefix=/etc/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 --pid-path=/var/run/nginx.pid --lock-path=/var/run/nginx.lock --http-client-body-temp-path=/var/cache/nginx/client_temp --http-proxy-temp-path=/var/cache/nginx/proxy_temp --http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp --http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp --http-scgi-temp-path=/var/cache/nginx/scgi_temp --user=nginx --group=nginx --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_mp4_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_random_index_module --with-http_secure_link_module --with-http_stub_status_module --with-http_auth_request_module --with-mail --with-mail_ssl_module --with-file-aio --with-ipv6 --with-http_spdy_module --with-cc-opt='-O2 -g -pipe -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic' server { listen 443; server_name www.example.net; ssl on; ssl_certificate /etc/pki/nginx/www.example.net.pem; ssl_certificate_key /etc/pki/nginx/www.example.net.key; ssl_dhparam /etc/pki/nginx/dh2048.pem; ssl_prefer_server_ciphers on; ssl_protocols TLSv1 TLSv1.1 TLSv1.2 SSLv3; ssl_ciphers 'ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:!RC4:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!3DES:!MD5:!PSK'; ssl_session_cache shared:SSL:1m; ssl_session_timeout 5m; location / { proxy_pass http://127.0.0.1:8080; ... } } 2015-09-01 12:41 GMT+03:00 ekassir : > Здравствуйте, товарищи. > > Критичная проблема, не могу победить уже почти 4 дня. Прошу > квалифицированной помощи. > Nginx используется в качестве reverse-proxy. > Столкнулся с проблемой отсутствия реакции Nginx на конкретные параметры > конфига: > > Браузер подключается по TLSv1.2, тогда как в конфиге виртуального сервера > указано, например: > ssl on; > ssl_protocols SSLv3; > ssl_prefer_server_ciphers Off; # данный параметр также не влияет на > доступность выбранного протокола > > Следующие проверки показывают доступность только TLSv1.1 и TLSv1.2, вне > зависимости от того, какой конфиг прописан: > 1) https://www.ssllabs.com/ssltest/ > 2) openssl s_client -tls1_1 -connect hostname:443 < /dev/null > 3) sslyze --regular hostname > > Переопределения разрешённых протоколов на уровне nginx.conf нет. > Для каждого проксируемого сервера прописываются свои параметры шифрования, > файлы конфигов лежат в директории sites-enabled. > Думал, что проблема в несовместимости с версией OpenSSL: > "The TLSv1.1 and TLSv1.2 parameters are supported starting from versions > 1.1.13 and 1.0.12, so when the OpenSSL version 1.0.1 or higher is used on > older nginx versions, these protocols work, but cannot be disabled." > Собрал из исходников свежую версию. Не помогло. > > Вывод nginx -V > > nginx version: nginx/1.8.0 > built by gcc 4.4.7 20120313 (Red Hat 4.4.7-3) (GCC) > built with OpenSSL 1.0.1e-fips 11 Feb 2013 > TLS SNI support enabled > configure arguments: --prefix=/etc/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 --pid-path=/var/run/nginx.pid > --lock-path=/var/run/nginx.lock > --http-client-body-temp-path=/var/cache/nginx/client_temp > --http-proxy-temp-path=/var/cache/nginx/proxy_temp > --http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp > --http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp > --http-scgi-temp-path=/var/cache/nginx/scgi_temp --user=nginx --group=nginx > --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_mp4_module --with-http_gunzip_module > --with-http_gzip_static_module --with-http_random_index_module > --with-http_secure_link_module --with-http_stub_status_module > --with-http_auth_request_module --with-mail --with-mail_ssl_module > --with-file-aio --with-ipv6 --with-http_spdy_module --with-cc-opt='-O2 -g > -pipe -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector > --param=ssp-buffer-size=4 -m64 -mtune=generic' > > > Вывод openssl version: > OpenSSL 1.0.1p 9 Jul 2015 > > Posted at Nginx Forum: > http://forum.nginx.org/read.php?21,261349,261349#msg-261349 > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From nginx-forum на nginx.us Tue Sep 1 10:19:40 2015 From: nginx-forum на nginx.us (ekassir) Date: Tue, 01 Sep 2015 06:19:40 -0400 Subject: =?UTF-8?B?UmU6INCd0LUg0L/RgNC40LzQtdC90Y/RgtC10YHRjyDRgdC/0LjRgdC+0Log0YA=?= =?UTF-8?B?0LDQt9GA0LXRiNGR0L3QvdGL0YUg0L/RgNC+0YLQvtC60L7Qu9C+0LIgU1NM?= =?UTF-8?B?Lg==?= In-Reply-To: References: Message-ID: <8c5f251652c12a9560cfe5141ab54e79.NginxMailingListRussian@forum.nginx.org> Есть идеи, как дебажить? yum update не помог, сейчас по вашему примеру поставлю систему заново. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,261349,261352#msg-261352 From nginx-forum на nginx.us Tue Sep 1 10:55:13 2015 From: nginx-forum на nginx.us (ekassir) Date: Tue, 01 Sep 2015 06:55:13 -0400 Subject: =?UTF-8?B?UmU6INCd0LUg0L/RgNC40LzQtdC90Y/RgtC10YHRjyDRgdC/0LjRgdC+0Log0YA=?= =?UTF-8?B?0LDQt9GA0LXRiNGR0L3QvdGL0YUg0L/RgNC+0YLQvtC60L7Qu9C+0LIgU1NM?= =?UTF-8?B?Lg==?= In-Reply-To: References: Message-ID: Проблема обнаружена: директива ssl_protocols [SSLv2] [SSLv3] [TLSv1] [TLSv1.1] [TLSv1.2]; работает глобально, а не для каждого отдельного сайта. Придётся прописывать всё в общем конфиге. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,261349,261355#msg-261355 From alex.hha на gmail.com Tue Sep 1 11:09:29 2015 From: alex.hha на gmail.com (Alex Domoradov) Date: Tue, 1 Sep 2015 14:09:29 +0300 Subject: =?UTF-8?B?UmU6INCd0LUg0L/RgNC40LzQtdC90Y/RgtC10YHRjyDRgdC/0LjRgdC+0Log0YA=?= =?UTF-8?B?0LDQt9GA0LXRiNGR0L3QvdGL0YUg0L/RgNC+0YLQvtC60L7Qu9C+0LIgU1NM?= =?UTF-8?B?Lg==?= In-Reply-To: References: Message-ID: А в документации указано Контекст: http, server У себя проверил, выставил в блоке http - ssl_protocols TLSv1.2; Без изменений, sslv3 принимает 2015-09-01 13:55 GMT+03:00 ekassir : > Проблема обнаружена: > директива ssl_protocols [SSLv2] [SSLv3] [TLSv1] [TLSv1.1] [TLSv1.2]; > работает глобально, а не для каждого отдельного сайта. > > Придётся прописывать всё в общем конфиге. > > Posted at Nginx Forum: > http://forum.nginx.org/read.php?21,261349,261355#msg-261355 > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru > ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From nginx-forum на nginx.us Tue Sep 1 11:21:24 2015 From: nginx-forum на nginx.us (ekassir) Date: Tue, 01 Sep 2015 07:21:24 -0400 Subject: =?UTF-8?B?UmU6INCd0LUg0L/RgNC40LzQtdC90Y/RgtC10YHRjyDRgdC/0LjRgdC+0Log0YA=?= =?UTF-8?B?0LDQt9GA0LXRiNGR0L3QvdGL0YUg0L/RgNC+0YLQvtC60L7Qu9C+0LIgU1NM?= =?UTF-8?B?Lg==?= In-Reply-To: References: Message-ID: <0d224baf91d45534fd3edfb12bdc3173.NginxMailingListRussian@forum.nginx.org> Попробуй поднять два сайта, на один повесить SSLv3, на другой TLSv1.2 и посмотреть, что получится. Я исправил конфиги и теперь работает. Может быть проблема в SNI? Posted at Nginx Forum: http://forum.nginx.org/read.php?21,261349,261357#msg-261357 From leave на nixkid.com Tue Sep 1 12:03:31 2015 From: leave на nixkid.com (Pavel Mihaduk) Date: Tue, 1 Sep 2015 15:03:31 +0300 Subject: =?UTF-8?B?UmU6INCd0LUg0L/RgNC40LzQtdC90Y/RgtC10YHRjyDRgdC/0LjRgdC+0Log0YA=?= =?UTF-8?B?0LDQt9GA0LXRiNGR0L3QvdGL0YUg0L/RgNC+0YLQvtC60L7Qu9C+0LIgU1NM?= =?UTF-8?B?Lg==?= In-Reply-To: References: Message-ID: <1945E4B7-FCDB-4753-9C79-7A3076605AAC@nixkid.com> Наблюдал аналогичное поведение на CentOS 5.9, nginx 1.6.* - в контексте server директива игнорируется. > On 1 сент. 2015 г., at 14:09, Alex Domoradov > wrote: > > А в документации указано > > Контекст: http, server > > У себя проверил, выставил в блоке http - ssl_protocols TLSv1.2; Без изменений, sslv3 принимает > > 2015-09-01 13:55 GMT+03:00 ekassir >: > Проблема обнаружена: > директива ssl_protocols [SSLv2] [SSLv3] [TLSv1] [TLSv1.1] [TLSv1.2]; > работает глобально, а не для каждого отдельного сайта. > > Придётся прописывать всё в общем конфиге. > > Posted at Nginx Forum: http://forum.nginx.org/read.php?21,261349,261355#msg-261355 > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From gmm на csdoc.com Tue Sep 1 12:20:14 2015 From: gmm на csdoc.com (Gena Makhomed) Date: Tue, 1 Sep 2015 15:20:14 +0300 Subject: =?UTF-8?B?UmU6INCd0LUg0L/RgNC40LzQtdC90Y/RgtC10YHRjyDRgdC/0LjRgdC+0Log0YA=?= =?UTF-8?B?0LDQt9GA0LXRiNGR0L3QvdGL0YUg0L/RgNC+0YLQvtC60L7Qu9C+0LIgU1NM?= =?UTF-8?B?Lg==?= In-Reply-To: References: Message-ID: <55E597FE.1070900@csdoc.com> On 01.09.2015 13:55, ekassir wrote: > Проблема обнаружена: > директива ssl_protocols [SSLv2] [SSLv3] [TLSv1] [TLSv1.1] [TLSv1.2]; > работает глобально, а не для каждого отдельного сайта. > Придётся прописывать всё в общем конфиге. А зачем может понадобиться запрещать TLSv1.1 и TLSv1.2 ? Или делать для каждого серверу различную настройку. https://www.ssllabs.com/ssltest/ наоброт рекомендует, выключать SSLv3 и включать старшие версии протоколов. Из некоторых реализаций OpenSSL даже вообще выбросили поддержку протоколов SSLv2 и SSLv3, оставив только TLS. -- Best regards, Gena From alex.hha на gmail.com Tue Sep 1 12:37:39 2015 From: alex.hha на gmail.com (Alex Domoradov) Date: Tue, 1 Sep 2015 15:37:39 +0300 Subject: =?UTF-8?B?UmU6INCd0LUg0L/RgNC40LzQtdC90Y/RgtC10YHRjyDRgdC/0LjRgdC+0Log0YA=?= =?UTF-8?B?0LDQt9GA0LXRiNGR0L3QvdGL0YUg0L/RgNC+0YLQvtC60L7Qu9C+0LIgU1NM?= =?UTF-8?B?Lg==?= In-Reply-To: <55E597FE.1070900@csdoc.com> References: <55E597FE.1070900@csdoc.com> Message-ID: Ну, например, старый софт, который умеет только sslv3 или в лучшем случае tlsv1 2015-09-01 15:20 GMT+03:00 Gena Makhomed : > On 01.09.2015 13:55, ekassir wrote: > > Проблема обнаружена: >> директива ssl_protocols [SSLv2] [SSLv3] [TLSv1] [TLSv1.1] [TLSv1.2]; >> работает глобально, а не для каждого отдельного сайта. >> Придётся прописывать всё в общем конфиге. >> > > А зачем может понадобиться запрещать TLSv1.1 и TLSv1.2 ? > Или делать для каждого серверу различную настройку. > > https://www.ssllabs.com/ssltest/ наоброт рекомендует, > выключать SSLv3 и включать старшие версии протоколов. > > Из некоторых реализаций OpenSSL даже вообще выбросили > поддержку протоколов SSLv2 и SSLv3, оставив только TLS. > > -- > Best regards, > Gena > > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru > ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From gmm на csdoc.com Tue Sep 1 13:32:53 2015 From: gmm на csdoc.com (Gena Makhomed) Date: Tue, 1 Sep 2015 16:32:53 +0300 Subject: =?UTF-8?B?UmU6INCd0LUg0L/RgNC40LzQtdC90Y/RgtC10YHRjyDRgdC/0LjRgdC+0Log0YA=?= =?UTF-8?B?0LDQt9GA0LXRiNGR0L3QvdGL0YUg0L/RgNC+0YLQvtC60L7Qu9C+0LIgU1NM?= =?UTF-8?B?Lg==?= In-Reply-To: References: <55E597FE.1070900@csdoc.com> Message-ID: <55E5A905.3030602@csdoc.com> On 01.09.2015 15:37, Alex Domoradov wrote: > Ну, например, старый софт, > который умеет только sslv3 или в лучшем случае tlsv1 >> А зачем может понадобиться запрещать TLSv1.1 и TLSv1.2 ? >> Или делать для каждого серверу различную настройку. Если софт умеет только SSLv3 - он не умеет TLSv1.1 и TLSv1.2, поэтому и не понятно, зачем тогда *запрещать* TLS на сервере? Вот смысла именно в таком действии я не вижу вообще никакого. Имхо есть только одна причина, зачем это может быть нужно - если старый софт думает что умеет работать по новым версиям протоколов, а на самом деле - эти протоколы в нем реализованы с ошибками. Интересно, что это за такой кривой софт, который не умеет работать по TLS и насколько сильно он распространен среди клиентов в интернете. Потому что я лично SSLv3 вообще запретил, браузеры его не поддерживают. -- Best regards, Gena From nginx-forum на nginx.us Tue Sep 1 14:08:15 2015 From: nginx-forum на nginx.us (ekassir) Date: Tue, 01 Sep 2015 10:08:15 -0400 Subject: =?UTF-8?B?UmU6INCd0LUg0L/RgNC40LzQtdC90Y/RgtC10YHRjyDRgdC/0LjRgdC+0Log0YA=?= =?UTF-8?B?0LDQt9GA0LXRiNGR0L3QvdGL0YUg0L/RgNC+0YLQvtC60L7Qu9C+0LIgU1NM?= =?UTF-8?B?Lg==?= In-Reply-To: <55E5A905.3030602@csdoc.com> References: <55E5A905.3030602@csdoc.com> Message-ID: <42348ee5540462ee3f238c21b45a344f.NginxMailingListRussian@forum.nginx.org> Прямого запрета не требуется. Нужна была доступность протокола TLS 1.0, который используется приложениями, совместимость с которыми нужно было обеспечить. В итоге, пришлось для всего списка сайтой прописать TLS 1.0, чтобы он начал поддерживаться на нужном hostname. Кто знает, это бага или фича? Как обойти? Posted at Nginx Forum: http://forum.nginx.org/read.php?21,261349,261364#msg-261364 From nginx-forum на nginx.us Tue Sep 1 14:08:55 2015 From: nginx-forum на nginx.us (ekassir) Date: Tue, 01 Sep 2015 10:08:55 -0400 Subject: =?UTF-8?B?UmU6INCd0LUg0L/RgNC40LzQtdC90Y/RgtC10YHRjyDRgdC/0LjRgdC+0Log0YA=?= =?UTF-8?B?0LDQt9GA0LXRiNGR0L3QvdGL0YUg0L/RgNC+0YLQvtC60L7Qu9C+0LIgU1NM?= =?UTF-8?B?Lg==?= In-Reply-To: <1945E4B7-FCDB-4753-9C79-7A3076605AAC@nixkid.com> References: <1945E4B7-FCDB-4753-9C79-7A3076605AAC@nixkid.com> Message-ID: CentOS 6.5-6.7 + nginx 1.8.0 - проблема осталась. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,261349,261365#msg-261365 From gmm на csdoc.com Tue Sep 1 17:17:45 2015 From: gmm на csdoc.com (Gena Makhomed) Date: Tue, 1 Sep 2015 20:17:45 +0300 Subject: =?UTF-8?B?UmU6INCd0LUg0L/RgNC40LzQtdC90Y/RgtC10YHRjyDRgdC/0LjRgdC+0Log0YA=?= =?UTF-8?B?0LDQt9GA0LXRiNGR0L3QvdGL0YUg0L/RgNC+0YLQvtC60L7Qu9C+0LIgU1NM?= =?UTF-8?B?Lg==?= In-Reply-To: <42348ee5540462ee3f238c21b45a344f.NginxMailingListRussian@forum.nginx.org> References: <55E5A905.3030602@csdoc.com> <42348ee5540462ee3f238c21b45a344f.NginxMailingListRussian@forum.nginx.org> Message-ID: <55E5DDB9.4020405@csdoc.com> On 01.09.2015 17:08, ekassir wrote: > Нужна была доступность протокола TLS 1.0, который используется приложениями, > совместимость с которыми нужно было обеспечить. > В итоге, пришлось для всего списка сайтой прописать TLS 1.0, > чтобы он начал поддерживаться на нужном hostname. > Кто знает, это бага или фича? Как обойти? Директива ssl_protocols, хоть и указывается в контексте server`а, на самом деле является свойством listen socket`а, а не server`а. Потому что клиент сначала устанавливает TLS соединение с сервером, а только после этого присылает HTTP-запрос в котором указано имя хоста. Обойти можно просто, сделав различные listen socket`ы с разными настройками, так чтобы они отличались или номером порта или IP адресом. Например: server { listen 11.11.11.11:443 ssl; ssl_protocols SSLv3; } server { listen 22.22.22.22:443 ssl; ssl_protocols TLSv1.1 TLSv1.2; } Есть необязательное расширение TLS протокола - Server Name Indication https://tools.ietf.org/html/rfc6066#section-3 Но нюанс в том, что server_name там присылается в не-защищенном виде как ClientHello extension, И это имя ведь может не совпадать с имемен хоста, который потом будет прислан по зашифрованному HTTP-протоколу. https://idea.popcount.org/2012-06-16-dissecting-ssl-handshake/ Кроме того, Server Name Indication extension может и не быть. > Есть идеи, как дебажить? http://nginx.org/en/docs/debugging_log.html -- Best regards, Gena From nginx-forum на nginx.us Wed Sep 2 09:55:49 2015 From: nginx-forum на nginx.us (xore) Date: Wed, 02 Sep 2015 05:55:49 -0400 Subject: =?UTF-8?B?0J/QvtCy0LXQtNC10L3QuNC1IG5naW54INC/0L7RgdC70LUg0L7RiNC40LHQutC4?= =?UTF-8?B?ICJubyBsaXZlIHVwc3RyZWFtcyI=?= Message-ID: <9532eda97e011d9e24f313807905eead.NginxMailingListRussian@forum.nginx.org> Добрый день. Не могу понять поведение nginx при возникновении ошибки: "no live upstreams while connecting to upstream, client: x.x.x.x, ..." Я предполагал, что когда все серверы в upstream становятся недоступными, nginx начинает отвечать 502, пока у какого-то сервера не кончится fail_timeout. Но практика показывает, что после ошибки "no live upstreams", nginx продолжает отправлять запросы на серверы в upstream. Не подскажут ли знающее люди, почему так? Тестировал командой: siege -t 10S -c 10 -b -v 'http://server/url' Конфиг: upstream test_backend { server test1:5020; server test2:5020; server test3:5020; server test4:5020; keepalive 128; } server { ... location / { proxy_pass http://test_backend; proxy_next_upstream error timeout http_503; proxy_http_version 1.1; proxy_set_header Connection ""; } } На серверах, указанных в upstream, крутится python сервис через uwsgi. nginx хочет keepalive и пытается посылать много запросов в одном TCP соединении. А у uwsgi keepalive не включен, поэтому он принимает только один запрос и закрывает TCP соединение. Соответственно, nginx получает отлуп (в виде RST пакета) на каждый второй запрос в TCP соединении. Отсюда возникает много ошибок "recv() failed" и "upstream prematurely closed connection". При таком поведении, у nginx в upstream должны очень быстро кончаться живые серверы и он должен переставать отвечать на запросы. Смотрю в лог: 2015/09/02 12:23:46 [error] 6978#6978: *27035 recv() failed (104: Connection reset by peer) while reading response header from upstream, client: x.x.x.x, ... 2015/09/02 12:23:46 [error] 6978#6978: *27095 recv() failed (104: Connection reset by peer) while reading response header from upstream, client: x.x.x.x, ... 2015/09/02 12:23:46 [error] 6978#6978: *27285 recv() failed (104: Connection reset by peer) while reading response header from upstream, client: x.x.x.x, ... 2015/09/02 12:23:46 [error] 6979#6979: *27295 recv() failed (104: Connection reset by peer) while reading response header from upstream, client: x.x.x.x, ... 2015/09/02 12:23:46 [error] 6980#6980: *27391 recv() failed (104: Connection reset by peer) while reading response header from upstream, client: x.x.x.x, ... 2015/09/02 12:23:46 [error] 6980#6980: *27423 recv() failed (104: Connection reset by peer) while reading response header from upstream, client: x.x.x.x, ... 2015/09/02 12:23:46 [error] 6979#6979: *27545 recv() failed (104: Connection reset by peer) while reading response header from upstream, client: x.x.x.x, ... 2015/09/02 12:23:46 [error] 6984#6984: *27761 upstream prematurely closed connection while reading response header from upstream, client: x.x.x.x, ... 2015/09/02 12:23:46 [error] 6984#6984: *27761 no live upstreams while connecting to upstream, client: x.x.x.x, ... 2015/09/02 12:23:46 [error] 6984#6984: *27780 recv() failed (104: Connection reset by peer) while reading response header from upstream, client: x.x.x.x, ... 2015/09/02 12:23:47 [error] 6984#6984: *27938 recv() failed (104: Connection reset by peer) while reading response header from upstream, client: x.x.x.x, ... 2015/09/02 12:23:47 [error] 6984#6984: *27962 recv() failed (104: Connection reset by peer) while reading response header from upstream, client: x.x.x.x, ... 2015/09/02 12:23:47 [error] 6980#6980: *28090 recv() failed (104: Connection reset by peer) while reading response header from upstream, client: x.x.x.x, ... 2015/09/02 12:23:47 [error] 6980#6980: *28140 recv() failed (104: Connection reset by peer) while reading response header from upstream, client: x.x.x.x, ... Думаю "какого черта, он в продолжает посылать запросы, если нет живых серверов?". Буду рад, если объясните, как так получается. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,261379,261379#msg-261379 From vl на nginx.com Wed Sep 2 10:15:36 2015 From: vl на nginx.com (Vladimir Homutov) Date: Wed, 2 Sep 2015 13:15:36 +0300 Subject: =?UTF-8?B?UmU6INCf0L7QstC10LTQtdC90LjQtSBuZ2lueCDQv9C+0YHQu9C1INC+0YjQuNCx?= =?UTF-8?B?0LrQuCAibm8gbGl2ZSB1cHN0cmVhbXMi?= In-Reply-To: <9532eda97e011d9e24f313807905eead.NginxMailingListRussian@forum.nginx.org> References: <9532eda97e011d9e24f313807905eead.NginxMailingListRussian@forum.nginx.org> Message-ID: <20150902101536.GA32107@vlpc.nginx.com> On Wed, Sep 02, 2015 at 05:55:49AM -0400, xore wrote: > Добрый день. > > Не могу понять поведение nginx при возникновении ошибки: > "no live upstreams while connecting to upstream, client: x.x.x.x, ..." > > Я предполагал, что когда все серверы в upstream становятся недоступными, > nginx начинает отвечать 502, пока у какого-то сервера не кончится > fail_timeout. > Но практика показывает, что после ошибки "no live upstreams", nginx > продолжает отправлять запросы на серверы в upstream. > Не подскажут ли знающее люди, почему так? http://hg.nginx.org/nginx/file/281863981d0b/src/http/ngx_http_upstream_round_robin.c#l497 > > Тестировал командой: > siege -t 10S -c 10 -b -v 'http://server/url' > > Конфиг: > upstream test_backend { > server test1:5020; > server test2:5020; > server test3:5020; > server test4:5020; > keepalive 128; > } > > server { > ... > > location / { > proxy_pass http://test_backend; > proxy_next_upstream error timeout http_503; > proxy_http_version 1.1; > proxy_set_header Connection ""; > } > } > > На серверах, указанных в upstream, крутится python сервис через uwsgi. > nginx хочет keepalive и пытается посылать много запросов в одном TCP > соединении. > А у uwsgi keepalive не включен, поэтому он принимает только один запрос и > закрывает TCP соединение. > Соответственно, nginx получает отлуп (в виде RST пакета) на каждый второй > запрос в TCP соединении. > Отсюда возникает много ошибок "recv() failed" и "upstream prematurely closed > connection". > При таком поведении, у nginx в upstream должны очень быстро кончаться живые > серверы и он должен переставать отвечать на запросы. > > Смотрю в лог: > > 2015/09/02 12:23:46 [error] 6978#6978: *27035 recv() failed (104: Connection > reset by peer) while reading response header from upstream, client: x.x.x.x, > ... > 2015/09/02 12:23:46 [error] 6978#6978: *27095 recv() failed (104: Connection > reset by peer) while reading response header from upstream, client: x.x.x.x, > ... > 2015/09/02 12:23:46 [error] 6978#6978: *27285 recv() failed (104: Connection > reset by peer) while reading response header from upstream, client: x.x.x.x, > ... > 2015/09/02 12:23:46 [error] 6979#6979: *27295 recv() failed (104: Connection > reset by peer) while reading response header from upstream, client: x.x.x.x, > ... > 2015/09/02 12:23:46 [error] 6980#6980: *27391 recv() failed (104: Connection > reset by peer) while reading response header from upstream, client: x.x.x.x, > ... > 2015/09/02 12:23:46 [error] 6980#6980: *27423 recv() failed (104: Connection > reset by peer) while reading response header from upstream, client: x.x.x.x, > ... > 2015/09/02 12:23:46 [error] 6979#6979: *27545 recv() failed (104: Connection > reset by peer) while reading response header from upstream, client: x.x.x.x, > ... > 2015/09/02 12:23:46 [error] 6984#6984: *27761 upstream prematurely closed > connection while reading response header from upstream, client: x.x.x.x, > ... > 2015/09/02 12:23:46 [error] 6984#6984: *27761 no live upstreams while > connecting to upstream, client: x.x.x.x, ... > 2015/09/02 12:23:46 [error] 6984#6984: *27780 recv() failed (104: Connection > reset by peer) while reading response header from upstream, client: x.x.x.x, > ... > 2015/09/02 12:23:47 [error] 6984#6984: *27938 recv() failed (104: Connection > reset by peer) while reading response header from upstream, client: x.x.x.x, > ... > 2015/09/02 12:23:47 [error] 6984#6984: *27962 recv() failed (104: Connection > reset by peer) while reading response header from upstream, client: x.x.x.x, > ... > 2015/09/02 12:23:47 [error] 6980#6980: *28090 recv() failed (104: Connection > reset by peer) while reading response header from upstream, client: x.x.x.x, > ... > 2015/09/02 12:23:47 [error] 6980#6980: *28140 recv() failed (104: Connection > reset by peer) while reading response header from upstream, client: x.x.x.x, > ... > > Думаю "какого черта, он в продолжает посылать запросы, если нет живых > серверов?". > Буду рад, если объясните, как так получается. > > Posted at Nginx Forum: http://forum.nginx.org/read.php?21,261379,261379#msg-261379 > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru From nginx-forum на nginx.us Wed Sep 2 11:00:43 2015 From: nginx-forum на nginx.us (xore) Date: Wed, 02 Sep 2015 07:00:43 -0400 Subject: =?UTF-8?B?UmU6INCf0L7QstC10LTQtdC90LjQtSBuZ2lueCDQv9C+0YHQu9C1INC+0YjQuNCx?= =?UTF-8?B?0LrQuCAibm8gbGl2ZSB1cHN0cmVhbXMi?= In-Reply-To: <20150902101536.GA32107@vlpc.nginx.com> References: <20150902101536.GA32107@vlpc.nginx.com> Message-ID: <6c4ebc53f438f89b4020ed8030e8970d.NginxMailingListRussian@forum.nginx.org> Понял, спасибо, ожидал что-то подобное. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,261379,261381#msg-261381 From nginx-forum на nginx.us Wed Sep 2 12:27:32 2015 From: nginx-forum на nginx.us (ex) Date: Wed, 02 Sep 2015 08:27:32 -0400 Subject: =?UTF-8?B?UmU6INCd0LUg0L/RgNC40LzQtdC90Y/RgtC10YHRjyDRgdC/0LjRgdC+0Log0YA=?= =?UTF-8?B?0LDQt9GA0LXRiNGR0L3QvdGL0YUg0L/RgNC+0YLQvtC60L7Qu9C+0LIgU1NM?= =?UTF-8?B?Lg==?= In-Reply-To: <5de3fc7a2c0146546499fd5c4bb0ff53.NginxMailingListRussian@forum.nginx.org> References: <5de3fc7a2c0146546499fd5c4bb0ff53.NginxMailingListRussian@forum.nginx.org> Message-ID: <2a8c35b4ca717a605cf4915cdcf56e75.NginxMailingListRussian@forum.nginx.org> Уверены что в настройках самого OpenSSL не выключена поддержка SSLv3 ? Posted at Nginx Forum: http://forum.nginx.org/read.php?21,261349,261383#msg-261383 From nginx-forum на nginx.us Wed Sep 2 12:49:11 2015 From: nginx-forum на nginx.us (ekassir) Date: Wed, 02 Sep 2015 08:49:11 -0400 Subject: =?UTF-8?B?UmU6INCd0LUg0L/RgNC40LzQtdC90Y/RgtC10YHRjyDRgdC/0LjRgdC+0Log0YA=?= =?UTF-8?B?0LDQt9GA0LXRiNGR0L3QvdGL0YUg0L/RgNC+0YLQvtC60L7Qu9C+0LIgU1NM?= =?UTF-8?B?Lg==?= In-Reply-To: <2a8c35b4ca717a605cf4915cdcf56e75.NginxMailingListRussian@forum.nginx.org> References: <5de3fc7a2c0146546499fd5c4bb0ff53.NginxMailingListRussian@forum.nginx.org> <2a8c35b4ca717a605cf4915cdcf56e75.NginxMailingListRussian@forum.nginx.org> Message-ID: Уверен, после добавления SSLv3 в конфиги всех опубликованных серверов он становится доступен. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,261349,261384#msg-261384 From nginx-forum на nginx.us Wed Sep 2 12:53:40 2015 From: nginx-forum на nginx.us (ekassir) Date: Wed, 02 Sep 2015 08:53:40 -0400 Subject: =?UTF-8?B?UmU6INCd0LUg0L/RgNC40LzQtdC90Y/RgtC10YHRjyDRgdC/0LjRgdC+0Log0YA=?= =?UTF-8?B?0LDQt9GA0LXRiNGR0L3QvdGL0YUg0L/RgNC+0YLQvtC60L7Qu9C+0LIgU1NM?= =?UTF-8?B?Lg==?= In-Reply-To: <55E5DDB9.4020405@csdoc.com> References: <55E5DDB9.4020405@csdoc.com> Message-ID: <3d6f8bac5650471aeb80436b1e45254b.NginxMailingListRussian@forum.nginx.org> SNI включен, но не помогает. А вот открытие различных сокетов - решение, но в таком случает придётся как-то разделять на периметре сайты для разных протоколов. Опять же либо по разным внешним IP, либо ставить дополнительный прокси/крутую железку аля Cisco ASA. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,261349,261385#msg-261385 From nginx-forum на nginx.us Wed Sep 2 13:28:45 2015 From: nginx-forum на nginx.us (ex) Date: Wed, 02 Sep 2015 09:28:45 -0400 Subject: =?UTF-8?B?UmU6INCd0LUg0L/RgNC40LzQtdC90Y/RgtC10YHRjyDRgdC/0LjRgdC+0Log0YA=?= =?UTF-8?B?0LDQt9GA0LXRiNGR0L3QvdGL0YUg0L/RgNC+0YLQvtC60L7Qu9C+0LIgU1NM?= =?UTF-8?B?Lg==?= In-Reply-To: References: <5de3fc7a2c0146546499fd5c4bb0ff53.NginxMailingListRussian@forum.nginx.org> <2a8c35b4ca717a605cf4915cdcf56e75.NginxMailingListRussian@forum.nginx.org> Message-ID: Но чудес не бывает.. Начтите с выяснения почему на одном хосте разные версии OpenSSL ekassir Wrote: ------------------------------------------------------- > Собрал из исходников свежую версию. > Вывод nginx -V > nginx version: nginx/1.8.0 > built by gcc 4.4.7 20120313 (Red Hat 4.4.7-3) (GCC) > built with OpenSSL 1.0.1e-fips 11 Feb 2013 > Вывод openssl version: > OpenSSL 1.0.1p 9 Jul 2015 Posted at Nginx Forum: http://forum.nginx.org/read.php?21,261349,261386#msg-261386 From public-mail на alekciy.ru Wed Sep 2 15:09:34 2015 From: public-mail на alekciy.ru (=?UTF-8?B?0JDQu9C10LrRgdC10Lkg0KHRg9C90LTRg9C60L7Qsg==?=) Date: Wed, 2 Sep 2015 19:09:34 +0400 Subject: =?UTF-8?B?0J/Qu9Cw0L3QuNGA0YPQtdGC0YHRjyDQu9C4INCyINC+0YTQuNGG0LjQsNC70Yw=?= =?UTF-8?B?0L3QvtC8INGA0LXQv9C+0LfQuNGC0L7RgNC40Lgg0L/QvtC00LTQtdC20Lo=?= =?UTF-8?B?0LAgbmdpbngtbGlnaHQvbmdpbngtZnVsbC9uZ2lueC1leHRyYXM/?= Message-ID: На дебиан подобных дистрибах есть несколько вариантов собранного nginx с разными модулями. Конкретно в моей ситуации потребовался http_image_filter_module которого нет в официальном репозитории дебиана в nginx-light (устанавливаемом по умолчанию) пакете, но он есть во всех остальных. Вопрос решаем в случае использования репозитория дебиана. Но в nginx репозитории такого разделения нет. Получается, что при использовании дополнительных модулей использовать nginx репозиторий не получится. Собственно вопросы. 1) Планируется ли подобное разделение и для официального nginx репозитория? 2) Если нет, то существует ли проверенный репозиторий со свежим nginx, но с несколькими вариантами сборки? P.S. Варианты: сборка из исходников, сборка своего пакета понятны, но хочется быстрого пакетного решения. -------------- next part -------------- An HTML attachment was scrubbed... URL: From gmm на csdoc.com Wed Sep 2 15:27:51 2015 From: gmm на csdoc.com (Gena Makhomed) Date: Wed, 2 Sep 2015 18:27:51 +0300 Subject: =?UTF-8?B?UmU6INCd0LUg0L/RgNC40LzQtdC90Y/RgtC10YHRjyDRgdC/0LjRgdC+0Log0YA=?= =?UTF-8?B?0LDQt9GA0LXRiNGR0L3QvdGL0YUg0L/RgNC+0YLQvtC60L7Qu9C+0LIgU1NM?= =?UTF-8?B?Lg==?= In-Reply-To: <3d6f8bac5650471aeb80436b1e45254b.NginxMailingListRussian@forum.nginx.org> References: <55E5DDB9.4020405@csdoc.com> <3d6f8bac5650471aeb80436b1e45254b.NginxMailingListRussian@forum.nginx.org> Message-ID: <55E71577.7060809@csdoc.com> On 02.09.2015 15:53, ekassir wrote: > SNI включен, но не помогает. Клиенты работающие по протоколу SSLv3 не поддерживают SNI. Умеет клиент SNI или нет - можно посмотреть здесь: https://www.ssllabs.com/ssltest/viewMyClient.html https://www.ssllabs.com/ssltest/clients.html > А вот открытие различных сокетов - решение, > но в таком случает придётся как-то разделять > на периметре сайты для разных протоколов. > Опять же либо по разным внешним IP До того как появилось SNI - это был вообще единственный вариант. Да и сейчас, это единственный гарантированно работающий вариант. Есть еще один вариант - можно в конфиге проверять $ssl_protocol и если это сайт высокой степени надежности - закрывать соединение или показывать явное сообщение про ошибку, если к нему обратились по более низкой версии протокола, по которой он работать не должен. Тогда - у части серверов будет разрешен протокол SSLv3 и TLS1.0, а у всех остальных - только старшие протоколы TLSv1.1 и TLSv1.2. -- Best regards, Gena From gmm на csdoc.com Wed Sep 2 15:37:46 2015 From: gmm на csdoc.com (Gena Makhomed) Date: Wed, 2 Sep 2015 18:37:46 +0300 Subject: =?UTF-8?B?UmU6INCd0LUg0L/RgNC40LzQtdC90Y/RgtC10YHRjyDRgdC/0LjRgdC+0Log0YA=?= =?UTF-8?B?0LDQt9GA0LXRiNGR0L3QvdGL0YUg0L/RgNC+0YLQvtC60L7Qu9C+0LIgU1NM?= =?UTF-8?B?Lg==?= In-Reply-To: <55E5DDB9.4020405@csdoc.com> References: <55E5A905.3030602@csdoc.com> <42348ee5540462ee3f238c21b45a344f.NginxMailingListRussian@forum.nginx.org> <55E5DDB9.4020405@csdoc.com> Message-ID: <55E717CA.6080104@csdoc.com> On 01.09.2015 20:17, Gena Makhomed wrote: > Есть необязательное расширение TLS протокола - Server Name Indication > https://tools.ietf.org/html/rfc6066#section-3 > Но нюанс в том, что server_name там присылается > в не-защищенном виде как ClientHello extension, > И это имя ведь может не совпадать с имемен хоста, > который потом будет прислан по зашифрованному HTTP-протоколу. Тут я ошибся, не может не совпадать. На основании имени из SNI сервер предъявит другой сертификат и клиент покажет сообщение об ошибке, о том что сервер предоставил невалидный сертификат. -- Best regards, Gena From a.vasilishin на kpi.ua Wed Sep 2 20:51:41 2015 From: a.vasilishin на kpi.ua (=?UTF-8?B?0JDQvdC00YDQtdC5INCS0LDRgdC40LvQuNGI0LjQvQ==?=) Date: Wed, 2 Sep 2015 23:51:41 +0300 Subject: =?UTF-8?B?UmU6INCf0LvQsNC90LjRgNGD0LXRgtGB0Y8g0LvQuCDQsiDQvtGE0LjRhtC40LA=?= =?UTF-8?B?0LvRjNC90L7QvCDRgNC10L/QvtC30LjRgtC+0YDQuNC4INC/0L7QtNC00LU=?= =?UTF-8?B?0LbQutCwIG5naW54LWxpZ2h0L25naW54LWZ1bGwvbmdpbngtZXh0cmFzPw==?= In-Reply-To: References: Message-ID: <55E7615D.8030707@kpi.ua> > P.S. Варианты: сборка из исходников, сборка своего пакета понятны, но > хочется быстрого пакетного решения. А я всегда собираю свой пакет. apt-get source nginx nano debian/rules dpkg-buildpackage -rfakeroot -uc -b From nginx-forum на nginx.us Thu Sep 3 13:40:10 2015 From: nginx-forum на nginx.us (azverev) Date: Thu, 03 Sep 2015 09:40:10 -0400 Subject: =?UTF-8?B?aWYgKCRob3N0ICE9ICRzZXJ2ZXIgbmFtZSkg0Lgg0L3QtdGB0LrQvtC70YzQutC+?= =?UTF-8?B?INC00L7QvNC10L3QvtCyINCyIHNlcnZlciBuYW1l?= Message-ID: Здравствуйте. Имеется серве на котором висят сайты one.com и www.two.com test.two.com admin.two.com *.two.com one.com доступен по 80 *.two.com доступен только по 443 (с 80 идёт редирект на 443) Часть клиентов иногда заходит на one.com по 443 и попадают не туда (их запрос попадает на https://two.com:443/). Я прописал в конфиге второго сайта if if ($host != $server_name) { rewrite ^ http://$host$request_uri? redirect; } Но if как-то странно отрабатывается, он проверяет $host только с первым доменом в списке $server_name То есть когда запрос приходит на admin.two.com то его редиректит на http, а такого быть не должно. Подскажите, где я ошибся. По логике, я хотел все запросы, которые приходят на сайт c ssl и не совпадают с доменами из server_name редиректить на http://$host/ ps Такая схема ( if ($host != $server_name) { rewrite ^ http://$host$request_uri? redirect; } ) удачно работает на нескольких серверах, но там везде один домен в server_name. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,261407,261407#msg-261407 From gmm на csdoc.com Thu Sep 3 14:58:49 2015 From: gmm на csdoc.com (Gena Makhomed) Date: Thu, 3 Sep 2015 17:58:49 +0300 Subject: =?UTF-8?B?UmU6IGlmICgkaG9zdCAhPSAkc2VydmVyIG5hbWUpINC4INC90LXRgdC60L7Qu9GM?= =?UTF-8?B?0LrQviDQtNC+0LzQtdC90L7QsiDQsiBzZXJ2ZXIgbmFtZQ==?= In-Reply-To: References: Message-ID: <55E86029.5090503@csdoc.com> On 03.09.2015 16:40, azverev wrote: > Имеется серве на котором висят сайты one.com и www.two.com test.two.com > admin.two.com *.two.com > one.com доступен по 80 > *.two.com доступен только по 443 (с 80 идёт редирект на 443) > > Часть клиентов иногда заходит на one.com по 443 и попадают не туда (их > запрос попадает на https://two.com:443/). > > Я прописал в конфиге второго сайта if > > if ($host != $server_name) { rewrite ^ http://$host$request_uri? redirect; > } > > Но if как-то странно отрабатывается, он проверяет $host только с первым > доменом в списке $server_name > > То есть когда запрос приходит на admin.two.com то его редиректит на http, а > такого быть не должно. > > Подскажите, где я ошибся. > По логике, я хотел все запросы, которые приходят на сайт c ssl и не > совпадают с доменами из server_name редиректить на http://$host/ > > ps Такая схема ( if ($host != $server_name) { rewrite ^ > http://$host$request_uri? redirect; } ) удачно работает на нескольких > серверах, но там везде один домен в server_name. Самый правильный вариант все HTTP-only HTTPS-only сайты разнести по двум разным IP, тогда все будет работать как надо, а при попытке зайти на HTTP-only сайт по 443 порту будет просто ошибка подключения (никто на тому порту не слушает). Альтернативный вариант - сделать default_server для HTTPS, куда прописать редирект: server { listen 1.2.3.4:443 default_server backlog=1024 ssl spdy; ssl_certificate /etc/tls/.../site.com.crt; ssl_certificate_key /etc/tls/.../site.com.key; return 301 http://$host$request_uri; } server { listen 1.2.3.4:443 ssl spdy; ssl_certificate /etc/tls/.../site.com.crt; ssl_certificate_key /etc/tls/.../site.com.key; server_name www.two.com *.two.com; // ... } Если хочется делать через if - тогда надо явно проверять с каждым именем хоста, отдельными конструкциями if. Но конструкции if ($host != ... ) или if ($host = ... ) - это ошибка, вместо них всегда имеет смысл использовать отдельные блоки server { server_name ... } -- Best regards, Gena From nginx-forum на nginx.us Thu Sep 3 15:10:18 2015 From: nginx-forum на nginx.us (azverev) Date: Thu, 03 Sep 2015 11:10:18 -0400 Subject: =?UTF-8?B?UmU6IGlmICgkaG9zdCAhPSAkc2VydmVyIG5hbWUpINC4INC90LXRgdC60L7Qu9GM?= =?UTF-8?B?0LrQviDQtNC+0LzQtdC90L7QsiDQsiBzZXJ2ZXIgbmFtZQ==?= In-Reply-To: <55E86029.5090503@csdoc.com> References: <55E86029.5090503@csdoc.com> Message-ID: <252de40daa431304ad12272452edbe16.NginxMailingListRussian@forum.nginx.org> Спасибо большое за информацию. К сожалению, не хватает ipv4 на всех. При использование listen 1.2.3.4:443 default_server работает как надо. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,261409,261410#msg-261410 From public-mail на alekciy.ru Fri Sep 4 10:39:21 2015 From: public-mail на alekciy.ru (=?UTF-8?B?0JDQu9C10LrRgdC10Lkg0KHRg9C90LTRg9C60L7Qsg==?=) Date: Fri, 4 Sep 2015 14:39:21 +0400 Subject: =?UTF-8?B?UmU6INCf0LvQsNC90LjRgNGD0LXRgtGB0Y8g0LvQuCDQsiDQvtGE0LjRhtC40LA=?= =?UTF-8?B?0LvRjNC90L7QvCDRgNC10L/QvtC30LjRgtC+0YDQuNC4INC/0L7QtNC00LU=?= =?UTF-8?B?0LbQutCwIG5naW54LWxpZ2h0L25naW54LWZ1bGwvbmdpbngtZXh0cmFzPw==?= In-Reply-To: <55E7615D.8030707@kpi.ua> References: <55E7615D.8030707@kpi.ua> Message-ID: Т.е. просто прописав в debian/rules опицию --with-http_image_filter_module для configure? 3 сентября 2015 г., 0:51 пользователь Андрей Василишин написал: > > P.S. Варианты: сборка из исходников, сборка своего пакета понятны, но >> хочется быстрого пакетного решения. >> > > > А я всегда собираю свой пакет. > apt-get source nginx > nano debian/rules > dpkg-buildpackage -rfakeroot -uc -b > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru -------------- next part -------------- An HTML attachment was scrubbed... URL: From a.vasilishin на kpi.ua Fri Sep 4 11:00:24 2015 From: a.vasilishin на kpi.ua (=?UTF-8?B?0JDQvdC00YDQtdC5INCS0LDRgdC40LvQuNGI0LjQvQ==?=) Date: Fri, 4 Sep 2015 14:00:24 +0300 Subject: =?UTF-8?B?UmU6INCf0LvQsNC90LjRgNGD0LXRgtGB0Y8g0LvQuCDQsiDQvtGE0LjRhtC40LA=?= =?UTF-8?B?0LvRjNC90L7QvCDRgNC10L/QvtC30LjRgtC+0YDQuNC4INC/0L7QtNC00LU=?= =?UTF-8?B?0LbQutCwIG5naW54LWxpZ2h0L25naW54LWZ1bGwvbmdpbngtZXh0cmFzPw==?= In-Reply-To: References: <55E7615D.8030707@kpi.ua> Message-ID: <55E979C8.6010406@kpi.ua> 04.09.2015 13:39, Алексей Сундуков пишет: > Т.е. просто прописав в debian/rules опицию > --with-http_image_filter_module для configure?| да (с) Фарид From mdounin на mdounin.ru Fri Sep 4 12:40:48 2015 From: mdounin на mdounin.ru (Maxim Dounin) Date: Fri, 4 Sep 2015 15:40:48 +0300 Subject: =?UTF-8?B?UmU6INCf0LvQsNC90LjRgNGD0LXRgtGB0Y8g0LvQuCDQsiDQvtGE0LjRhtC40LA=?= =?UTF-8?B?0LvRjNC90L7QvCDRgNC10L/QvtC30LjRgtC+0YDQuNC4INC/0L7QtNC00LU=?= =?UTF-8?B?0LbQutCwIG5naW54LWxpZ2h0L25naW54LWZ1bGwvbmdpbngtZXh0cmFzPw==?= In-Reply-To: <55E979C8.6010406@kpi.ua> References: <55E7615D.8030707@kpi.ua> <55E979C8.6010406@kpi.ua> Message-ID: <20150904124012.GZ72232@mdounin.ru> Hello! On Fri, Sep 04, 2015 at 02:00:24PM +0300, Андрей Василишин wrote: > 04.09.2015 13:39, Алексей Сундуков пишет: > >Т.е. просто прописав в debian/rules опицию > >--with-http_image_filter_module для configure?| > > да (с) Фарид Да ладно? Ни разу не видел, чтобы Фарид ответил "да". -- Maxim Dounin http://nginx.org/ From rusnginx на gmail.com Sat Sep 5 10:39:45 2015 From: rusnginx на gmail.com (Alex Aster) Date: Sat, 5 Sep 2015 12:39:45 +0200 Subject: =?UTF-8?B?0J/RgNC+0LTQvtC70LbQtdC90LjQtSDRgNCw0LHQvtGC0Ysg0YHQutGA0LjQv9GC?= =?UTF-8?B?0LAgbHVhINC/0L7RgdC70LUg0L7RgtC00LDRh9C4IG5neC5IVFRQX09L?= Message-ID: Добрый день всем, возможно есть у сообщества какие идеи, как заставить lua скрипт продолжить работать, после того как отослать клиенту ngx.exit(ngx.HTTP_OK) Идея такая что основная часть логики (дальнейшее проксирование) выносится на момент когда клиенту уже отослать ответ и закрыть соединение. Клиент в итоге получает очень быстрый ответ, а медленная логика/проксирование (уже ничего отсылать не надо клиенту) обрабатывается уже после. Как пример такое: local ngx = require 'ngx' local cjson = require "cjson" local value = cjson.new().decode(ngx.var.request_body) ngx.header["Content-Type"] = "application/json" ngx.say('{"result":true}') ngx.exit(ngx.HTTP_OK) ...здесь дальнейшая работа с value и отправка дальше, возможно и через "ngx.location.capture" и через сокеты на другие сервера... Понятно что если ngx.exit запускается, то дальнейший скрипт не работает. Чем его можно заменить (клиентское соединение закрыть и скрипт продолжает работать)? -------------- next part -------------- An HTML attachment was scrubbed... URL: From mva на mva.name Sat Sep 5 10:54:05 2015 From: mva на mva.name (Vadim A. Misbakh-Soloviov) Date: Sat, 05 Sep 2015 16:54:05 +0600 Subject: =?UTF-8?B?UmU6INCf0YDQvtC00L7Qu9C20LXQvdC40LUg0YDQsNCx0L7RgtGLINGB0LrRgNC4?= =?UTF-8?B?0L/RgtCwIGx1YSDQv9C+0YHQu9C1INC+0YLQtNCw0YfQuCBuZ3guSFRUUF9P?= =?UTF-8?B?Sw==?= In-Reply-To: References: Message-ID: <160435133.mF2hJQ75zR@hp> https://github.com/openresty/lua-nginx-module/#ngxeof В письме от Сб, 5 сентября 2015 12:39:45 пользователь Alex Aster написал: > Добрый день всем, > > возможно есть у сообщества какие идеи, как заставить lua скрипт продолжить > работать, после > того как отослать клиенту ngx.exit(ngx.HTTP_OK) > > Идея такая что основная часть логики (дальнейшее проксирование) выносится > на момент когда клиенту уже отослать ответ и закрыть соединение. > > Клиент в итоге получает очень быстрый ответ, а медленная > логика/проксирование (уже ничего отсылать не надо клиенту) обрабатывается > уже после. > > Как пример такое: > > local ngx = require 'ngx' > local cjson = require "cjson" > local value = cjson.new().decode(ngx.var.request_body) > ngx.header["Content-Type"] = "application/json" > ngx.say('{"result":true}') > ngx.exit(ngx.HTTP_OK) > ...здесь дальнейшая работа с value и отправка дальше, возможно и через > "ngx.location.capture" и через сокеты на другие сервера... > > > Понятно что если ngx.exit запускается, то дальнейший скрипт не работает. > Чем его можно заменить (клиентское соединение закрыть и скрипт продолжает > работать)? -- Best regards, mva ----------- следущая часть ----------- Вложение не в текстовом формате было извлечено… Имя: signature.asc Тип: application/pgp-signature Размер: 819 байтов Описание: This is a digitally signed message part. URL: From nstrannik на yandex.ru Sat Sep 5 10:57:16 2015 From: nstrannik на yandex.ru (=?koi8-r?B?98zBxMnNydI=?=) Date: Sat, 05 Sep 2015 13:57:16 +0300 Subject: =?UTF-8?B?UmU6INCf0YDQvtC00L7Qu9C20LXQvdC40LUg0YDQsNCx0L7RgtGLINGB0LrRgNC4?= =?UTF-8?B?0L/RgtCwIGx1YSDQv9C+0YHQu9C1INC+0YLQtNCw0YfQuCBuZ3guSFRUUF9P?= =?UTF-8?B?Sw==?= In-Reply-To: References: Message-ID: <814591441450636@web8h.yandex.ru> Добрый день! Я думаю стоит вынести обработчик в отдельную "нить". Поместить данные к примеру в словарик ngx.shared.DICT, а обработку продолжить асинхронно в корутине. Мне кажеться стоит копать в сторону http://wiki.nginx.org/HttpLuaModule#coroutine.create 05.09.2015, 13:40, "Alex Aster" : > Добрый день всем, > > возможно есть у сообщества какие идеи, как заставить lua скрипт продолжить работать, после > того как отослать клиенту ngx.exit(ngx.HTTP_OK) > > Идея такая что основная часть логики (дальнейшее проксирование) выносится на момент когда клиенту уже отослать ответ и закрыть соединение. > > Клиент в итоге получает очень быстрый ответ, а медленная логика/проксирование (уже ничего отсылать не надо клиенту) обрабатывается уже после. > > Как пример такое: > > local ngx = require 'ngx' > local cjson = require "cjson" > local value = cjson.new().decode(ngx.var.request_body) > ngx.header["Content-Type"] = "application/json" > ngx.say('{"result":true}') > ngx.exit(ngx.HTTP_OK) > ...здесь дальнейшая работа с value и отправка дальше, возможно и через "ngx.location.capture" и через сокеты на другие сервера... > > Понятно что если ngx.exit запускается, то дальнейший скрипт не работает. Чем его можно заменить (клиентское соединение закрыть и скрипт продолжает работать)? > , > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru --  С уважением, Владимир. nstrannik на yandex.ru From rusnginx на gmail.com Sat Sep 5 10:57:42 2015 From: rusnginx на gmail.com (Alex Aster) Date: Sat, 5 Sep 2015 12:57:42 +0200 Subject: =?UTF-8?B?UmU6INCf0YDQvtC00L7Qu9C20LXQvdC40LUg0YDQsNCx0L7RgtGLINGB0LrRgNC4?= =?UTF-8?B?0L/RgtCwIGx1YSDQv9C+0YHQu9C1INC+0YLQtNCw0YfQuCBuZ3guSFRUUF9P?= =?UTF-8?B?Sw==?= In-Reply-To: <160435133.mF2hJQ75zR@hp> References: <160435133.mF2hJQ75zR@hp> Message-ID: Спасибо большое, тоже нашел это )) 5 сентября 2015 г., 12:54 пользователь Vadim A. Misbakh-Soloviov < mva на mva.name> написал: > https://github.com/openresty/lua-nginx-module/#ngxeof > > В письме от Сб, 5 сентября 2015 12:39:45 пользователь Alex Aster написал: > > Добрый день всем, > > > > возможно есть у сообщества какие идеи, как заставить lua скрипт > продолжить > > работать, после > > того как отослать клиенту ngx.exit(ngx.HTTP_OK) > > > > Идея такая что основная часть логики (дальнейшее проксирование) выносится > > на момент когда клиенту уже отослать ответ и закрыть соединение. > > > > Клиент в итоге получает очень быстрый ответ, а медленная > > логика/проксирование (уже ничего отсылать не надо клиенту) обрабатывается > > уже после. > > > > Как пример такое: > > > > local ngx = require 'ngx' > > local cjson = require "cjson" > > local value = cjson.new().decode(ngx.var.request_body) > > ngx.header["Content-Type"] = "application/json" > > ngx.say('{"result":true}') > > ngx.exit(ngx.HTTP_OK) > > ...здесь дальнейшая работа с value и отправка дальше, возможно и через > > "ngx.location.capture" и через сокеты на другие сервера... > > > > > > Понятно что если ngx.exit запускается, то дальнейший скрипт не работает. > > Чем его можно заменить (клиентское соединение закрыть и скрипт продолжает > > работать)? > > -- > Best regards, > mva > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru > -- --------------- Alex Aster http://www.WIPmania.com - база IP геолокации -------------- next part -------------- An HTML attachment was scrubbed... URL: From mva на mva.name Sat Sep 5 10:58:13 2015 From: mva на mva.name (Vadim A. Misbakh-Soloviov) Date: Sat, 05 Sep 2015 16:58:13 +0600 Subject: =?UTF-8?B?UmU6INCf0YDQvtC00L7Qu9C20LXQvdC40LUg0YDQsNCx0L7RgtGLINGB0LrRgNC4?= =?UTF-8?B?0L/RgtCwIGx1YSDQv9C+0YHQu9C1INC+0YLQtNCw0YfQuCBuZ3guSFRUUF9P?= =?UTF-8?B?Sw==?= In-Reply-To: References: Message-ID: <2569276.XllZ5Xpy1a@hp> Причём, советую дочитать до конца. Там есть отсылка к более правильному способу решения вашей задачи. В письме от Сб, 5 сентября 2015 12:39:45 пользователь Alex Aster написал: > Добрый день всем, > > возможно есть у сообщества какие идеи, как заставить lua скрипт продолжить > работать, после > того как отослать клиенту ngx.exit(ngx.HTTP_OK) > > Идея такая что основная часть логики (дальнейшее проксирование) выносится > на момент когда клиенту уже отослать ответ и закрыть соединение. > > Клиент в итоге получает очень быстрый ответ, а медленная > логика/проксирование (уже ничего отсылать не надо клиенту) обрабатывается > уже после. > > Как пример такое: > > local ngx = require 'ngx' > local cjson = require "cjson" > local value = cjson.new().decode(ngx.var.request_body) > ngx.header["Content-Type"] = "application/json" > ngx.say('{"result":true}') > ngx.exit(ngx.HTTP_OK) > ...здесь дальнейшая работа с value и отправка дальше, возможно и через > "ngx.location.capture" и через сокеты на другие сервера... > > > Понятно что если ngx.exit запускается, то дальнейший скрипт не работает. > Чем его можно заменить (клиентское соединение закрыть и скрипт продолжает > работать)? -- Best regards, mva ----------- следущая часть ----------- Вложение не в текстовом формате было извлечено… Имя: signature.asc Тип: application/pgp-signature Размер: 819 байтов Описание: This is a digitally signed message part. URL: From nginx-forum на nginx.us Mon Sep 7 08:40:38 2015 From: nginx-forum на nginx.us (alnkapa@gmail.com) Date: Mon, 07 Sep 2015 04:40:38 -0400 Subject: websocket "Connection refused" IE10 SyntaxError Message-ID: <5e82a74793b9c68a5971d5fcb69af8fa.NginxMailingListRussian@forum.nginx.org> Добрый день. Сегодня обнаружил что IE10 и Опера (версию не знаю) перестали работать с сайтом. Вот кусок кода на JS: try { var ws = new WebSocket(url); ws.timeout = 20 * 1000; // subscribe command ws.event = { onclose: $.Callbacks('memory unique'), onopen: $.Callbacks('memory unique'), onmessage: $.Callbacks('memory unique') }; //DataView ws.onmessage = function (e) { ws.event.onmessage.fire(e.data); }; ws.onopen = function () { var ws = this; ws.event.onopen.fire(); ws.interval = setInterval(function () { ws.send('p'); // send ping command }, ws.timeout); }; ws.onclose = function () { var ws = this; ws.event.onclose.fire(); clearInterval(ws.interval); }; ws.add = function (event, callback) { try { this.event[event].add(callback); } catch (e) { console.log("ws error:", e); } }; return ws; } catch (e) { alert("WebSocket error:" + e.message); } выпадает с ошибкой WebSocket error: SyntaxError. Конфигурация: server { listen 80 default_server; root /home/public/static; #ssl off; #ssl_verify_client off; location = /favicon.ico { log_not_found off; access_log off; } location = /robots.txt { log_not_found off; access_log off; } location / { keepalive_timeout 0; proxy_ignore_client_abort on; proxy_intercept_errors on; proxy_buffering off; proxy_pass http://127.0.0.1:9090; proxy_http_version 1.1; proxy_set_header X-NginX-Proxy true; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection $connection_upgrade; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; } } Почему грешу на nginx, если обратиться на прямую на 9090 порт все работает нормально. К сожалению сайт в разработке, и IE10 и Опера не профильные браузеры по этому проверялись не часто, из за этого сказать в какой версии nginx появился косяк немого сейчас nginx version: nginx/1.6.2 (Ubuntu) Posted at Nginx Forum: http://forum.nginx.org/read.php?21,261467,261467#msg-261467 From nginx-forum на nginx.us Mon Sep 7 09:02:00 2015 From: nginx-forum на nginx.us (alnkapa@gmail.com) Date: Mon, 07 Sep 2015 05:02:00 -0400 Subject: websocket "Connection refused" IE10 SyntaxError In-Reply-To: <5e82a74793b9c68a5971d5fcb69af8fa.NginxMailingListRussian@forum.nginx.org> References: <5e82a74793b9c68a5971d5fcb69af8fa.NginxMailingListRussian@forum.nginx.org> Message-ID: <9dd8e62bbe9db94b8c87934c5b3e3b22.NginxMailingListRussian@forum.nginx.org> Сейчас поменял версию на nginx version: nginx/1.8.0, проблема осталась. Пакеты брал отсюда: deb http://nginx.org/packages/ubuntu/ utopic nginx Posted at Nginx Forum: http://forum.nginx.org/read.php?21,261467,261468#msg-261468 From pluknet на nginx.com Mon Sep 7 12:33:49 2015 From: pluknet на nginx.com (Sergey Kandaurov) Date: Mon, 7 Sep 2015 15:33:49 +0300 Subject: websocket "Connection refused" IE10 SyntaxError In-Reply-To: <5e82a74793b9c68a5971d5fcb69af8fa.NginxMailingListRussian@forum.nginx.org> References: <5e82a74793b9c68a5971d5fcb69af8fa.NginxMailingListRussian@forum.nginx.org> Message-ID: <2566B06E-1099-4263-B95C-6259BDF2EFA3@nginx.com> On Sep 7, 2015, at 11:40 AM, alnkapa на gmail.com wrote: > [..] > выпадает с ошибкой WebSocket error: SyntaxError. > Конфигурация: — выглядит как неполная. Я оставлю эти ссылки здесь: http://nginx.org/ru/docs/http/websocket.html http://nginx.org/ru/docs/debugging_log.html -- Sergey Kandaurov From sb на nginx.com Mon Sep 7 14:17:21 2015 From: sb на nginx.com (Sergey Budnevitch) Date: Mon, 7 Sep 2015 17:17:21 +0300 Subject: Fwd: authentication on trac.nginx.org References: <31D0AB99-06BF-41EE-9062-D437E7B24B98@nginx.com> Message-ID: Добрый день. К сожалению число openid-провайдеров сокращается, в частности openid весной перестал поддерживать google, а в августе - яндекс. Поэтому на прошлой неделе вместо openid аутентификации была добавлена аутентификация на основе oauth2. Часть google’овых учетных записей (с gmail’овскими ящиками) была переведена в новый формат, все остальные остались как есть. Если вы создавали тикет или оставляли комментарий, или же были подписаны на обновления, пожалуйста, напишите мне напрямую - я переименую старую учетную запись. > Begin forwarded message: > > From: Sergey Budnevitch > Subject: authentication on trac.nginx.org > Date: 7 Sep 2015 17:09:43 GMT+3 > To: nginx на nginx.org > Reply-To: nginx на nginx.org > > Hello. > > As you know we used openid to authenticate users on trac.nginx.org. Unfortunately many openid providers vanished or ceased to support openid. > Last week I added oauth-based authentication instead of openid one, with four auth providers: google, yandex, github and stack exchange. > Old google accounts with gmail addresses were converted to the new format, but other were kept intact. If you are an author of the ticket, comment > or was subscribed to the ticket update, please write me off list, I’ll link old and new account. > _______________________________________________ > nginx mailing list > nginx на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx From nginx-forum на nginx.us Mon Sep 7 19:53:13 2015 From: nginx-forum на nginx.us (agz) Date: Mon, 07 Sep 2015 15:53:13 -0400 Subject: GeoIP Message-ID: <583ef2d46ccb8828a1a7c49fa60ce57a.NginxMailingListRussian@forum.nginx.org> GeoIP'ями закрыта страна. Но в базе GeoIP неверные данные... И с нужной нам страны не могут к нам зайти... Как это можно исправить? Posted at Nginx Forum: http://forum.nginx.org/read.php?21,261488,261488#msg-261488 From mva на mva.name Mon Sep 7 20:17:10 2015 From: mva на mva.name (Vadim A. Misbakh-Soloviov) Date: Tue, 08 Sep 2015 02:17:10 +0600 Subject: GeoIP In-Reply-To: <583ef2d46ccb8828a1a7c49fa60ce57a.NginxMailingListRussian@forum.nginx.org> References: <583ef2d46ccb8828a1a7c49fa60ce57a.NginxMailingListRussian@forum.nginx.org> Message-ID: <2519544.O8EteX76SK@hp> для начала, подробнее описать проблему From a.vasilishin на kpi.ua Mon Sep 7 21:02:57 2015 From: a.vasilishin на kpi.ua (=?UTF-8?B?0JDQvdC00YDQtdC5INCS0LDRgdC40LvQuNGI0LjQvQ==?=) Date: Tue, 8 Sep 2015 00:02:57 +0300 Subject: =?UTF-8?Q?Re=3A_X-Accel-Limit-Rate_=D0=B8_limit=5Frate=5Fafter?= In-Reply-To: <2756042.RnGPdxiKMr@vbart-workstation> References: <55CEF746.8010802@kpi.ua> <55D34630.2050401@kpi.ua> <2756042.RnGPdxiKMr@vbart-workstation> Message-ID: <55EDFB81.5020105@kpi.ua> 18.08.2015 18:31, Валентин Бартенев пишет: > On Tuesday 18 August 2015 17:50:24 Андрей Василишин wrote: >> >> Поставлю вопрос по-другому, что будет, если в конфиге прописан >> limit_rate и придет ответ с бэкенда с заголовком X-Accel-Limit-Rate? Что >> сработает? >> > > Сработает значение из заголовка. > Спасибо, Валентин! Еще такое замечание, нигде в документации нет, суффиксы k, m не работают в этом заголовке http://nginx.org/ru/docs/syntax.html From nginx-ru на sadok.spb.ru Tue Sep 8 05:08:23 2015 From: nginx-ru на sadok.spb.ru (Dmitry Ivanov) Date: Tue, 8 Sep 2015 08:08:23 +0300 Subject: GeoIP In-Reply-To: <583ef2d46ccb8828a1a7c49fa60ce57a.NginxMailingListRussian@forum.nginx.org> References: <583ef2d46ccb8828a1a7c49fa60ce57a.NginxMailingListRussian@forum.nginx.org> Message-ID: <1243881273.20150908080823@sadok.spb.ru> Здравствуйте, agz. Вы писали 7 сентября 2015 г., 22:53:13: > Как это можно исправить? Ручками поправить базу. -- С уважением, Dmitry nginx-ru на sadok.spb.ru From nginx-forum на nginx.us Tue Sep 8 06:02:57 2015 From: nginx-forum на nginx.us (agz) Date: Tue, 08 Sep 2015 02:02:57 -0400 Subject: GeoIP In-Reply-To: <1243881273.20150908080823@sadok.spb.ru> References: <1243881273.20150908080823@sadok.spb.ru> Message-ID: <54aa0e03a4ad8c01bac99b9aba4e6b0e.NginxMailingListRussian@forum.nginx.org> Она в бинарном формате. Формат закрытый. Будет ли так работать: if ($remote_addr = 1.2.3.0/24) { set $allowed_country yes; } if ($allowed_country = no) { return 444; } nginx не ругается, но как проверить что работает? Можно ли указывать сеть как аргумент, вместо одного IP? Posted at Nginx Forum: http://forum.nginx.org/read.php?21,256777,261499#msg-261499 From bochkov.sergey на gmail.com Tue Sep 8 06:09:25 2015 From: bochkov.sergey на gmail.com (Sergey Bochkov) Date: Tue, 8 Sep 2015 09:09:25 +0300 Subject: GeoIP In-Reply-To: <54aa0e03a4ad8c01bac99b9aba4e6b0e.NginxMailingListRussian@forum.nginx.org> References: <1243881273.20150908080823@sadok.spb.ru> <54aa0e03a4ad8c01bac99b9aba4e6b0e.NginxMailingListRussian@forum.nginx.org> Message-ID: Используйте map http://nginx.org/ru/docs/http/ngx_http_map_module.html 8 сентября 2015 г., 9:02 пользователь agz написал: > Она в бинарном формате. Формат закрытый. > Будет ли так работать: > > if ($remote_addr = 1.2.3.0/24) { > set $allowed_country yes; > } > > if ($allowed_country = no) { > return 444; > } > > nginx не ругается, но как проверить что работает? > Можно ли указывать сеть как аргумент, вместо одного IP? > > Posted at Nginx Forum: > http://forum.nginx.org/read.php?21,256777,261499#msg-261499 > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru > -------------- next part -------------- An HTML attachment was scrubbed... URL: From nginx-forum на nginx.us Tue Sep 8 06:22:56 2015 From: nginx-forum на nginx.us (agz) Date: Tue, 08 Sep 2015 02:22:56 -0400 Subject: GeoIP In-Reply-To: References: Message-ID: map я использую. в секции http: geoip_country /usr/share/GeoIP/GeoIP.dat; map $geoip_country_code $allowed_country { default yes; US no; UK no; } Или что то другое Вы имели ввиду? Posted at Nginx Forum: http://forum.nginx.org/read.php?21,256777,261501#msg-261501 From nginx-forum на nginx.us Tue Sep 8 07:46:21 2015 From: nginx-forum на nginx.us (xADMx) Date: Tue, 08 Sep 2015 03:46:21 -0400 Subject: Redirect Message-ID: <73415bb873ac108e47daf6f80e8adb3c.NginxMailingListRussian@forum.nginx.org> Народ как сделать такой редирект: Человек автоматически попадает на мой сервер. Выполняется некое условие которое после которого происходит redirect с определенным resolver, не тем который стоит у человека по дефолту. Заранее благодарен Posted at Nginx Forum: http://forum.nginx.org/read.php?21,261503,261503#msg-261503 From ru на nginx.com Tue Sep 8 07:50:06 2015 From: ru на nginx.com (Ruslan Ermilov) Date: Tue, 8 Sep 2015 10:50:06 +0300 Subject: GeoIP In-Reply-To: References: Message-ID: <20150908075006.GD27415@lo0.su> On Tue, Sep 08, 2015 at 02:22:56AM -0400, agz wrote: > map я использую. в секции http: > geoip_country /usr/share/GeoIP/GeoIP.dat; > map $geoip_country_code $allowed_country { > default yes; > US no; > UK no; > } > Или что то другое Вы имели ввиду? Можно одновременно определять страну и по списку: geo $geo_country { 127.0.0.1 RU; 10.0.0.0/8 RU; } и по базе GeoIP: map $geo_country $country { '' $geoip_country_code; default $geo_country; } Как это работает: если клиентского адреса нет в списке geo, то страна ($country) определяется по базе GeoIP. Blacklist по странам также можно сделать при помощи map: map $country $restricted { XX 1; YY 1; ZZ 1; } Останется предпринять нужные действия: if ($restricted) { return 403; } From nginx-forum на nginx.us Tue Sep 8 08:04:49 2015 From: nginx-forum на nginx.us (agz) Date: Tue, 08 Sep 2015 04:04:49 -0400 Subject: GeoIP In-Reply-To: <20150908075006.GD27415@lo0.su> References: <20150908075006.GD27415@lo0.su> Message-ID: <062bfd0afeadb31f109ed2fcec76f851.NginxMailingListRussian@forum.nginx.org> Вот это то что нужно! Большое спасибо. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,256777,261505#msg-261505 From swood на fotofor.biz Tue Sep 8 12:13:19 2015 From: swood на fotofor.biz (Anton Kiryushkin) Date: Tue, 8 Sep 2015 15:13:19 +0300 Subject: 105: No buffer space available Message-ID: Здравствуйте. Не подскажете, в какую сторону копать? Не виртуалка и действительно много подключений. Но памяти в системе еще вагон. -- Best regards, Anton Kiryushkin -------------- next part -------------- An HTML attachment was scrubbed... URL: From onokonem на gmail.com Tue Sep 8 12:28:03 2015 From: onokonem на gmail.com (Daniel Podolsky) Date: Tue, 8 Sep 2015 15:28:03 +0300 Subject: 105: No buffer space available In-Reply-To: References: Message-ID: > Не подскажете, в какую сторону копать? я бы поискал в гугле From swood на fotofor.biz Tue Sep 8 12:29:43 2015 From: swood на fotofor.biz (Anton Kiryushkin) Date: Tue, 8 Sep 2015 15:29:43 +0300 Subject: 105: No buffer space available In-Reply-To: References: Message-ID: Да, я так и сделал. Но кроме советов достаточно далекой давности и в основном относящиеся к OpenVZ не нашел. Может быть у вас есть иные ключевые слова для поиска? 8 сентября 2015 г., 15:28 пользователь Daniel Podolsky написал: > > Не подскажете, в какую сторону копать? > я бы поискал в гугле > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru -- Best regards, Anton Kiryushkin -------------- next part -------------- An HTML attachment was scrubbed... URL: From loverjoni на gmail.com Tue Sep 8 12:31:12 2015 From: loverjoni на gmail.com (Ivan Palanevich) Date: Tue, 8 Sep 2015 15:31:12 +0300 Subject: 105: No buffer space available In-Reply-To: References: Message-ID: <634C196D-9FE4-4A01-98A9-9BF39AFCA9DD@gmail.com> Вероятно вам стоит описать немного более подробно вашу проблему. что за виртуализация, части конфигов с описанием ваших буферов, ось, ядро и тд. Ivan Palanevich loverjoni на gmail.com > On Sep 8, 2015, at 15:29, Anton Kiryushkin wrote: > > Да, я так и сделал. Но кроме советов достаточно далекой давности и в основном относящиеся к OpenVZ не нашел. > > Может быть у вас есть иные ключевые слова для поиска? > > 8 сентября 2015 г., 15:28 пользователь Daniel Podolsky > написал: > > Не подскажете, в какую сторону копать? > я бы поискал в гугле > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru > > > -- > Best regards, > Anton Kiryushkin > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From swood на fotofor.biz Tue Sep 8 12:40:33 2015 From: swood на fotofor.biz (Anton Kiryushkin) Date: Tue, 8 Sep 2015 15:40:33 +0300 Subject: 105: No buffer space available In-Reply-To: <634C196D-9FE4-4A01-98A9-9BF39AFCA9DD@gmail.com> References: <634C196D-9FE4-4A01-98A9-9BF39AFCA9DD@gmail.com> Message-ID: Здравствуйте. Повторяю, nginx живет вне виртуального окружения. У сервера есть много сети (10 Гбит) и много памяти (256Гб). Вот кусок конфига, который отвечает за хост, который пишет в лог о недостаточности буферов: proxy_redirect off; proxy_buffering on; proxy_buffer_size 8k; proxy_buffers 65536 8k; proxy_busy_buffers_size 64k; proxy_temp_file_write_size 64k; Сама буферизация необходима, так как пользователь открывает длительное подключение с бэкендом. Ядро Linux, 3.2.68. Пробовал, так же, крутить net.core.somaxconn, но безрезультатно. 8 сентября 2015 г., 15:31 пользователь Ivan Palanevich написал: > Вероятно вам стоит описать немного более подробно вашу проблему. > что за виртуализация, части конфигов с описанием ваших буферов, ось, ядро > и тд. > > Ivan Palanevich > loverjoni на gmail.com > > > > On Sep 8, 2015, at 15:29, Anton Kiryushkin wrote: > > Да, я так и сделал. Но кроме советов достаточно далекой давности и в > основном относящиеся к OpenVZ не нашел. > > Может быть у вас есть иные ключевые слова для поиска? > > 8 сентября 2015 г., 15:28 пользователь Daniel Podolsky > написал: > >> > Не подскажете, в какую сторону копать? >> я бы поискал в гугле >> _______________________________________________ >> nginx-ru mailing list >> nginx-ru на nginx.org >> http://mailman.nginx.org/mailman/listinfo/nginx-ru > > > > > -- > Best regards, > Anton Kiryushkin > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru > > > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru > -- Best regards, Anton Kiryushkin -------------- next part -------------- An HTML attachment was scrubbed... URL: From bogdar на gmail.com Wed Sep 9 18:36:18 2015 From: bogdar на gmail.com (Bogdan) Date: Wed, 9 Sep 2015 21:36:18 +0300 Subject: $upstream_cache_status vs. limit_req_zone Message-ID: Привет! А определен ли $upstream_cache_status на момент обработки рейтлимитов? Хочу ограничить количество запросов к не-кешированным частям сайта, как это правильно сделать? -- WBR, Bogdan B. Rudas ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From vbart на nginx.com Wed Sep 9 19:52:36 2015 From: vbart на nginx.com (=?utf-8?B?0JLQsNC70LXQvdGC0LjQvSDQkdCw0YDRgtC10L3QtdCy?=) Date: Wed, 09 Sep 2015 22:52:36 +0300 Subject: $upstream_cache_status vs. limit_req_zone In-Reply-To: References: Message-ID: <1835075.lUBKAqKHGa@vbart-workstation> On Wednesday 09 September 2015 21:36:18 Bogdan wrote: > Привет! > > А определен ли $upstream_cache_status на момент обработки рейтлимитов? Нет, не определен. > Хочу ограничить количество запросов к не-кешированным частям сайта, как > это правильно сделать? Использовать proxy_cache_lock: http://nginx.org/r/proxy_cache_lock/ru -- Валентин Бартенев From yadvlz на gmail.com Thu Sep 10 10:20:04 2015 From: yadvlz на gmail.com (Konstantin Salo) Date: Thu, 10 Sep 2015 13:20:04 +0300 Subject: =?UTF-8?B?0JzQvdC+0LPQvtGD0YDQvtCy0L3QtdCy0L7QtSDQutGN0YjQuNGA0L7QstCw0L0=?= =?UTF-8?B?0LjQtQ==?= Message-ID: Приветствую. Дано: высоконагруженный сервер на Linux, выступающий в роли кэширующего фронта, в нём собран объемный дисковый массив, также установлен SSD и большой объем оперативной памяти, организованный в рамдиск. Требуется: огранизовать кэширование таким образом, чтобы чтение осуществлялось сначала с рамдиска, потом с SSD и в последнюю очередь с дискового массива. Соответственно, помещаться в тот или иной диск данные должны в соответствии с частотой обращения к ним. Во FreeBSD достаточно настроить ZFS с ARC/L2ARC, а как быть в Linux? ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From kostenl на gmail.com Thu Sep 10 10:32:40 2015 From: kostenl на gmail.com (Konstantin Lapochkin) Date: Thu, 10 Sep 2015 15:32:40 +0500 Subject: =?UTF-8?B?UmU6INCc0L3QvtCz0L7Rg9GA0L7QstC90LXQstC+0LUg0LrRjdGI0LjRgNC+0LI=?= =?UTF-8?B?0LDQvdC40LU=?= In-Reply-To: References: Message-ID: Смотрите в сторону lvm-cache. RedHat уже умеет https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Logical_Volume_Manager_Administration/cache_volumes.html 10 сентября 2015 г., 15:20 пользователь Konstantin Salo написал: > Приветствую. > > Дано: высоконагруженный сервер на Linux, выступающий в роли кэширующего > фронта, в нём собран объемный дисковый массив, также установлен SSD и > большой объем оперативной памяти, организованный в рамдиск. > Требуется: огранизовать кэширование таким образом, чтобы чтение > осуществлялось сначала с рамдиска, потом с SSD и в последнюю очередь с > дискового массива. Соответственно, помещаться в тот или иной диск данные > должны в соответствии с частотой обращения к ним. > Во FreeBSD достаточно настроить ZFS с ARC/L2ARC, а как быть в Linux? > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru > ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From kpoxa на kpoxa.net Thu Sep 10 10:43:24 2015 From: kpoxa на kpoxa.net (kpoxa) Date: Thu, 10 Sep 2015 13:43:24 +0300 Subject: =?UTF-8?B?UmU6INCc0L3QvtCz0L7Rg9GA0L7QstC90LXQstC+0LUg0LrRjdGI0LjRgNC+0LI=?= =?UTF-8?B?0LDQvdC40LU=?= In-Reply-To: References: Message-ID: Добрый день. Ну примерно так: nginx (кеш в опере, мин юзес = много) > nginx (кеш на ssd, мин юзес = средне) > nginx (кеш на дисковом массиве) Хотя есть и файловые системы с поддержкой кеширования, но я не пробовал как они работают. 10 сентября 2015 г., 13:20 пользователь Konstantin Salo написал: > Приветствую. > > Дано: высоконагруженный сервер на Linux, выступающий в роли кэширующего > фронта, в нём собран объемный дисковый массив, также установлен SSD и > большой объем оперативной памяти, организованный в рамдиск. > Требуется: огранизовать кэширование таким образом, чтобы чтение > осуществлялось сначала с рамдиска, потом с SSD и в последнюю очередь с > дискового массива. Соответственно, помещаться в тот или иной диск данные > должны в соответствии с частотой обращения к ним. > Во FreeBSD достаточно настроить ZFS с ARC/L2ARC, а как быть в Linux? > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru > -------------- next part -------------- An HTML attachment was scrubbed... URL: From mva на mva.name Thu Sep 10 12:03:56 2015 From: mva на mva.name (Vadim A. Misbakh-Soloviov) Date: Thu, 10 Sep 2015 18:03:56 +0600 Subject: =?UTF-8?B?UmU6INCc0L3QvtCz0L7Rg9GA0L7QstC90LXQstC+0LUg0LrRjdGI0LjRgNC+0LI=?= =?UTF-8?B?0LDQvdC40LU=?= In-Reply-To: References: Message-ID: <5078916.niEdMLXLRb@note> В добавок к предыдущим ораторам расскажу, что в Linux'е тоже есть нативный ZFS, просто в виде модулей, а не вшитый. Ну и ещё есть overlayfs (но то, подойдёт он вам или нет - зависит от ситуации) -- Best regards, mva ----------- следущая часть ----------- Вложение не в текстовом формате было извлечено… Имя: signature.asc Тип: application/pgp-signature Размер: 819 байтов Описание: This is a digitally signed message part. URL: From vbart на nginx.com Thu Sep 10 12:28:47 2015 From: vbart на nginx.com (=?utf-8?B?0JLQsNC70LXQvdGC0LjQvSDQkdCw0YDRgtC10L3QtdCy?=) Date: Thu, 10 Sep 2015 15:28:47 +0300 Subject: =?UTF-8?B?UmU6INCc0L3QvtCz0L7Rg9GA0L7QstC90LXQstC+0LUg0LrRjdGI0LjRgNC+0LI=?= =?UTF-8?B?0LDQvdC40LU=?= In-Reply-To: References: Message-ID: <31348416.uphjB6PorA@vbart-workstation> On Thursday 10 September 2015 13:20:04 Konstantin Salo wrote: > Приветствую. > > Дано: высоконагруженный сервер на Linux, выступающий в роли кэширующего > фронта, в нём собран объемный дисковый массив, также установлен SSD и > большой объем оперативной памяти, организованный в рамдиск. > Требуется: огранизовать кэширование таким образом, чтобы чтение > осуществлялось сначала с рамдиска, потом с SSD и в последнюю очередь с > дискового массива. Соответственно, помещаться в тот или иной диск данные > должны в соответствии с частотой обращения к ним. > Во FreeBSD достаточно настроить ZFS с ARC/L2ARC, а как быть в Linux? Ключевые слова: bcache, dm-cache, EnhanceIO. -- Валентин Бартенев From onokonem на gmail.com Thu Sep 10 12:40:25 2015 From: onokonem на gmail.com (Daniel Podolsky) Date: Thu, 10 Sep 2015 15:40:25 +0300 Subject: =?UTF-8?B?UmU6INCc0L3QvtCz0L7Rg9GA0L7QstC90LXQstC+0LUg0LrRjdGI0LjRgNC+0LI=?= =?UTF-8?B?0LDQvdC40LU=?= In-Reply-To: <31348416.uphjB6PorA@vbart-workstation> References: <31348416.uphjB6PorA@vbart-workstation> Message-ID: Flascache можно пристроить поверх уже существующей фс On Thursday, September 10, 2015, Валентин Бартенев wrote: > On Thursday 10 September 2015 13:20:04 Konstantin Salo wrote: > > Приветствую. > > > > Дано: высоконагруженный сервер на Linux, выступающий в роли кэширующего > > фронта, в нём собран объемный дисковый массив, также установлен SSD и > > большой объем оперативной памяти, организованный в рамдиск. > > Требуется: огранизовать кэширование таким образом, чтобы чтение > > осуществлялось сначала с рамдиска, потом с SSD и в последнюю очередь с > > дискового массива. Соответственно, помещаться в тот или иной диск данные > > должны в соответствии с частотой обращения к ним. > > Во FreeBSD достаточно настроить ZFS с ARC/L2ARC, а как быть в Linux? > > Ключевые слова: bcache, dm-cache, EnhanceIO. > > -- > Валентин Бартенев > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru -------------- next part -------------- An HTML attachment was scrubbed... URL: From gmm на csdoc.com Thu Sep 10 15:08:12 2015 From: gmm на csdoc.com (Gena Makhomed) Date: Thu, 10 Sep 2015 18:08:12 +0300 Subject: =?UTF-8?B?UmU6INCc0L3QvtCz0L7Rg9GA0L7QstC90LXQstC+0LUg0LrRjdGI0LjRgNC+0LI=?= =?UTF-8?B?0LDQvdC40LU=?= In-Reply-To: References: Message-ID: <55F19CDC.1070306@csdoc.com> On 10.09.2015 13:20, Konstantin Salo wrote: > Дано: высоконагруженный сервер на Linux, выступающий в роли кэширующего > фронта, в нём собран объемный дисковый массив, также установлен SSD и > большой объем оперативной памяти, организованный в рамдиск. > Требуется: огранизовать кэширование таким образом, чтобы чтение > осуществлялось сначала с рамдиска, потом с SSD и в последнюю очередь с > дискового массива. Соответственно, помещаться в тот или иной диск данные > должны в соответствии с частотой обращения к ним. > Во FreeBSD достаточно настроить ZFS с ARC/L2ARC, а как быть в Linux? В линуксе так же, - http://zfsonlinux.org/ # man zfs-module-parameters -- Best regards, Gena From a.vasilishin на kpi.ua Sun Sep 13 20:08:34 2015 From: a.vasilishin на kpi.ua (=?UTF-8?B?0JDQvdC00YDQtdC5INCS0LDRgdC40LvQuNGI0LjQvQ==?=) Date: Sun, 13 Sep 2015 23:08:34 +0300 Subject: lte lt gte gt conditions Message-ID: <55F5D7C2.9010103@kpi.ua> Добрый день всем! Хочу странного. Хочу делать limit_rate в зависимости от $connections_active и желательно без обращения на бэкенд за данной логикой. Как такое сделать? From voron на amhost.net Mon Sep 14 05:36:30 2015 From: voron на amhost.net (Alex Vorona) Date: Mon, 14 Sep 2015 08:36:30 +0300 Subject: lte lt gte gt conditions In-Reply-To: <55F5D7C2.9010103@kpi.ua> References: <55F5D7C2.9010103@kpi.ua> Message-ID: <55F65CDE.6050903@amhost.net> 13.09.15 23:08, Андрей Василишин пишет: > Добрый день всем! > Хочу странного. Хочу делать limit_rate в зависимости от > $connections_active и желательно без обращения на бэкенд за данной > логикой. Как такое сделать? map_module пробовали? From a.vasilishin на kpi.ua Mon Sep 14 05:55:15 2015 From: a.vasilishin на kpi.ua (=?UTF-8?B?0JDQvdC00YDQtdC5INCS0LDRgdC40LvQuNGI0LjQvQ==?=) Date: Mon, 14 Sep 2015 08:55:15 +0300 Subject: lte lt gte gt conditions In-Reply-To: <55F65CDE.6050903@amhost.net> References: <55F5D7C2.9010103@kpi.ua> <55F65CDE.6050903@amhost.net> Message-ID: <55F66143.8070904@kpi.ua> 14.09.2015 8:36, Alex Vorona пишет: > 13.09.15 23:08, Андрей Василишин пишет: >> Добрый день всем! >> Хочу странного. Хочу делать limit_rate в зависимости от >> $connections_active и желательно без обращения на бэкенд за данной >> логикой. Как такое сделать? > map_module пробовали? > не вижу там возможность построить выражение >, <, =<, >= From voron на amhost.net Mon Sep 14 06:05:07 2015 From: voron на amhost.net (Alex Vorona) Date: Mon, 14 Sep 2015 09:05:07 +0300 Subject: lte lt gte gt conditions In-Reply-To: <55F66143.8070904@kpi.ua> References: <55F5D7C2.9010103@kpi.ua> <55F65CDE.6050903@amhost.net> <55F66143.8070904@kpi.ua> Message-ID: <55F66393.4080808@amhost.net> 14.09.15 08:55, Андрей Василишин пишет: > 14.09.2015 8:36, Alex Vorona пишет: >> 13.09.15 23:08, Андрей Василишин пишет: >>> Добрый день всем! >>> Хочу странного. Хочу делать limit_rate в зависимости от >>> $connections_active и желательно без обращения на бэкенд за данной >>> логикой. Как такое сделать? >> map_module пробовали? >> > > не вижу там возможность построить выражение >, <, =<, >= Постройте самописным генератором map для $connections_active от 0 до 100000 и все. From denis на webmaster.spb.ru Mon Sep 14 10:44:11 2015 From: denis на webmaster.spb.ru (denis) Date: Mon, 14 Sep 2015 13:44:11 +0300 Subject: lte lt gte gt conditions In-Reply-To: <55F66393.4080808@amhost.net> References: <55F5D7C2.9010103@kpi.ua> <55F65CDE.6050903@amhost.net> <55F66143.8070904@kpi.ua> <55F66393.4080808@amhost.net> Message-ID: <55F6A4FB.6040807@webmaster.spb.ru> 14.09.2015 9:05, Alex Vorona пишет: > 14.09.15 08:55, Андрей Василишин пишет: >> 14.09.2015 8:36, Alex Vorona пишет: >>> 13.09.15 23:08, Андрей Василишин пишет: >>>> Добрый день всем! >>>> Хочу странного. Хочу делать limit_rate в зависимости от >>>> $connections_active и желательно без обращения на бэкенд за данной >>>> логикой. Как такое сделать? >>> map_module пробовали? >>> >> >> не вижу там возможность построить выражение >, <, =<, >= > Постройте самописным генератором map для $connections_active от 0 до > 100000 и все. по отзывам, мап на 100к записей ест много памяти и подтормаживает. Да и выглядит как ужасный костыль. From voron на amhost.net Mon Sep 14 13:23:19 2015 From: voron на amhost.net (Alex Vorona) Date: Mon, 14 Sep 2015 16:23:19 +0300 Subject: lte lt gte gt conditions In-Reply-To: <55F6A4FB.6040807@webmaster.spb.ru> References: <55F5D7C2.9010103@kpi.ua> <55F65CDE.6050903@amhost.net> <55F66143.8070904@kpi.ua> <55F66393.4080808@amhost.net> <55F6A4FB.6040807@webmaster.spb.ru> Message-ID: <55F6CA47.2090006@amhost.net> 14.09.15 13:44, denis пишет: > 14.09.2015 9:05, Alex Vorona пишет: >> 14.09.15 08:55, Андрей Василишин пишет: >>> 14.09.2015 8:36, Alex Vorona пишет: >>>> 13.09.15 23:08, Андрей Василишин пишет: >>>>> Добрый день всем! >>>>> Хочу странного. Хочу делать limit_rate в зависимости от >>>>> $connections_active и желательно без обращения на бэкенд за данной >>>>> логикой. Как такое сделать? >>>> map_module пробовали? >>>> >>> >>> не вижу там возможность построить выражение >, <, =<, >= >> Постройте самописным генератором map для $connections_active от 0 до >> 100000 и все. > по отзывам, мап на 100к записей ест много памяти и подтормаживает. Да и > выглядит как ужасный костыль. Больше на 20-30мбайт на 64bit в моем тесте. Это много? perl_set может быть красивее, насчет быстрее - не уверен. From a.vasilishin на kpi.ua Mon Sep 14 13:47:26 2015 From: a.vasilishin на kpi.ua (=?UTF-8?B?0JDQvdC00YDQtdC5INCS0LDRgdC40LvQuNGI0LjQvQ==?=) Date: Mon, 14 Sep 2015 16:47:26 +0300 Subject: lte lt gte gt conditions In-Reply-To: <55F6CA47.2090006@amhost.net> References: <55F5D7C2.9010103@kpi.ua> <55F65CDE.6050903@amhost.net> <55F66143.8070904@kpi.ua> <55F66393.4080808@amhost.net> <55F6A4FB.6040807@webmaster.spb.ru> <55F6CA47.2090006@amhost.net> Message-ID: <55F6CFEE.6090304@kpi.ua> > perl_set может быть красивее, насчет быстрее - не уверен. > Тогда уже легче заголовком или аргументом передать на пхп-бэкенд, а оттуда вернуть X-Accel-Limit-Rate From mdounin на mdounin.ru Mon Sep 14 14:37:40 2015 From: mdounin на mdounin.ru (Maxim Dounin) Date: Mon, 14 Sep 2015 17:37:40 +0300 Subject: lte lt gte gt conditions In-Reply-To: <55F66393.4080808@amhost.net> References: <55F5D7C2.9010103@kpi.ua> <55F65CDE.6050903@amhost.net> <55F66143.8070904@kpi.ua> <55F66393.4080808@amhost.net> Message-ID: <20150914143740.GI62755@mdounin.ru> Hello! On Mon, Sep 14, 2015 at 09:05:07AM +0300, Alex Vorona wrote: > 14.09.15 08:55, Андрей Василишин пишет: > >14.09.2015 8:36, Alex Vorona пишет: > >>13.09.15 23:08, Андрей Василишин пишет: > >>>Добрый день всем! > >>>Хочу странного. Хочу делать limit_rate в зависимости от > >>>$connections_active и желательно без обращения на бэкенд за данной > >>>логикой. Как такое сделать? > >>map_module пробовали? > >> > > > >не вижу там возможность построить выражение >, <, =<, >= > Постройте самописным генератором map для $connections_active от 0 до 100000 > и все. IMHO, проще/правильнее регулярных выражений написать для нужных скоростей. -- Maxim Dounin http://nginx.org/ From a.vasilishin на kpi.ua Mon Sep 14 14:58:08 2015 From: a.vasilishin на kpi.ua (=?UTF-8?B?0JDQvdC00YDQtdC5INCS0LDRgdC40LvQuNGI0LjQvQ==?=) Date: Mon, 14 Sep 2015 17:58:08 +0300 Subject: lte lt gte gt conditions In-Reply-To: <20150914143740.GI62755@mdounin.ru> References: <55F5D7C2.9010103@kpi.ua> <55F65CDE.6050903@amhost.net> <55F66143.8070904@kpi.ua> <55F66393.4080808@amhost.net> <20150914143740.GI62755@mdounin.ru> Message-ID: <55F6E080.9030807@kpi.ua> 14.09.2015 17:37, Maxim Dounin пишет: > Hello! > > On Mon, Sep 14, 2015 at 09:05:07AM +0300, Alex Vorona wrote: > >> 14.09.15 08:55, Андрей Василишин пишет: >>> 14.09.2015 8:36, Alex Vorona пишет: >>>> 13.09.15 23:08, Андрей Василишин пишет: >>>>> Добрый день всем! >>>>> Хочу странного. Хочу делать limit_rate в зависимости от >>>>> $connections_active и желательно без обращения на бэкенд за данной >>>>> логикой. Как такое сделать? >>>> map_module пробовали? >>>> >>> >>> не вижу там возможность построить выражение >, <, =<, >= >> Постройте самописным генератором map для $connections_active от 0 до 100000 >> и все. > > IMHO, проще/правильнее регулярных выражений написать для нужных > скоростей. > Не совсем понял, как это сделать? Надо в зависимости от $connections_writing устанавливать $limit_rate, при чем ступенчато. Скажем от 0 до 5к - без ограничений, от 5к до 10к - ограничение 200к, от 10к до 15к - 150к, от 15к и выше - 100к ЗЫ $connections_writing и другие переменные ngx_http_stub_status_module не описаны тут http://nginx.org/ru/docs/varindex.html From mdounin на mdounin.ru Mon Sep 14 15:50:11 2015 From: mdounin на mdounin.ru (Maxim Dounin) Date: Mon, 14 Sep 2015 18:50:11 +0300 Subject: lte lt gte gt conditions In-Reply-To: <55F6E080.9030807@kpi.ua> References: <55F5D7C2.9010103@kpi.ua> <55F65CDE.6050903@amhost.net> <55F66143.8070904@kpi.ua> <55F66393.4080808@amhost.net> <20150914143740.GI62755@mdounin.ru> <55F6E080.9030807@kpi.ua> Message-ID: <20150914155011.GJ62755@mdounin.ru> Hello! On Mon, Sep 14, 2015 at 05:58:08PM +0300, Андрей Василишин wrote: > 14.09.2015 17:37, Maxim Dounin пишет: > >Hello! > > > >On Mon, Sep 14, 2015 at 09:05:07AM +0300, Alex Vorona wrote: > > > >>14.09.15 08:55, Андрей Василишин пишет: > >>>14.09.2015 8:36, Alex Vorona пишет: > >>>>13.09.15 23:08, Андрей Василишин пишет: > >>>>>Добрый день всем! > >>>>>Хочу странного. Хочу делать limit_rate в зависимости от > >>>>>$connections_active и желательно без обращения на бэкенд за данной > >>>>>логикой. Как такое сделать? > >>>>map_module пробовали? > >>>> > >>> > >>>не вижу там возможность построить выражение >, <, =<, >= > >>Постройте самописным генератором map для $connections_active от 0 до 100000 > >>и все. > > > >IMHO, проще/правильнее регулярных выражений написать для нужных > >скоростей. > > > > Не совсем понял, как это сделать? > Надо в зависимости от $connections_writing устанавливать $limit_rate, при > чем ступенчато. Скажем от 0 до 5к - без ограничений, от 5к до 10к - > ограничение 200к, от 10к до 15к - 150к, от 15к и выше - 100к Как-то так: map $connections_writing $limit { "~^.{1-3}$" 0; "~^[1234].{3}$" 0; "~^.{4}$" 200k; "~^[1-4].{4}$" 150k; default 100k; } И далее в нужном месте: set $limit_rate $limit; Не то чтобы очень прямо, но должно работает. > ЗЫ $connections_writing и другие переменные ngx_http_stub_status_module не > описаны тут http://nginx.org/ru/docs/varindex.html Да вроде описаны. -- Maxim Dounin http://nginx.org/ From voron на amhost.net Mon Sep 14 18:53:33 2015 From: voron на amhost.net (Alex Vorona) Date: Mon, 14 Sep 2015 21:53:33 +0300 Subject: lte lt gte gt conditions In-Reply-To: <55F6CA47.2090006@amhost.net> References: <55F5D7C2.9010103@kpi.ua> <55F65CDE.6050903@amhost.net> <55F66143.8070904@kpi.ua> <55F66393.4080808@amhost.net> <55F6A4FB.6040807@webmaster.spb.ru> <55F6CA47.2090006@amhost.net> Message-ID: <55F717AD.40801@amhost.net> > 14.09.15 13:44, denis пишет: >> 14.09.2015 9:05, Alex Vorona пишет: >>> Постройте самописным генератором map для $connections_active от 0 до >>> 100000 и все. >> по отзывам, мап на 100к записей ест много памяти и подтормаживает. map на 100к отрабатывает в микробенчмарке одинаково быстро с return 200 - те же 3мс time_total у curl. Понятно, что регуляркой красивее, но раз хочется странного ... From voron на amhost.net Mon Sep 14 18:58:03 2015 From: voron на amhost.net (Alex Vorona) Date: Mon, 14 Sep 2015 21:58:03 +0300 Subject: lte lt gte gt conditions In-Reply-To: <55F6E080.9030807@kpi.ua> References: <55F5D7C2.9010103@kpi.ua> <55F65CDE.6050903@amhost.net> <55F66143.8070904@kpi.ua> <55F66393.4080808@amhost.net> <20150914143740.GI62755@mdounin.ru> <55F6E080.9030807@kpi.ua> Message-ID: <55F718BB.4000206@amhost.net> 14.09.15 17:58, Андрей Василишин пишет: > Надо в зависимости от $connections_writing устанавливать $limit_rate, > при чем ступенчато. Скажем от 0 до 5к - без ограничений, от 5к до 10к - > ограничение 200к, от 10к до 15к - 150к, от 15к и выше - 100к И если бы еще это ограничение срабатывало на все коннекты на текущий момент, а не только на новые :) From a.vasilishin на kpi.ua Tue Sep 15 20:52:23 2015 From: a.vasilishin на kpi.ua (=?UTF-8?B?0JDQvdC00YDQtdC5INCS0LDRgdC40LvQuNGI0LjQvQ==?=) Date: Tue, 15 Sep 2015 23:52:23 +0300 Subject: lte lt gte gt conditions In-Reply-To: <20150914155011.GJ62755@mdounin.ru> References: <55F5D7C2.9010103@kpi.ua> <55F65CDE.6050903@amhost.net> <55F66143.8070904@kpi.ua> <55F66393.4080808@amhost.net> <20150914143740.GI62755@mdounin.ru> <55F6E080.9030807@kpi.ua> <20150914155011.GJ62755@mdounin.ru> Message-ID: <55F88507.7080502@kpi.ua> 14.09.2015 18:50, Maxim Dounin пишет: >> Надо в зависимости от $connections_writing устанавливать $limit_rate, при >> чем ступенчато. Скажем от 0 до 5к - без ограничений, от 5к до 10к - >> ограничение 200к, от 10к до 15к - 150к, от 15к и выше - 100к > > Как-то так: > > map $connections_writing $limit { > "~^.{1-3}$" 0; > "~^[1234].{3}$" 0; > "~^.{4}$" 200k; > "~^[1-4].{4}$" 150k; > default 100k; > } > > И далее в нужном месте: > > set $limit_rate $limit; > > Не то чтобы очень прямо, но должно работает Спасибо за регексы, Максим, предпоследний правда немного неправильный. Решил наделать больше ступенек, вышло так: map $connections_writing $limit { "~^.{1-3}$" 0; #0-1000 connections "~^[1-4].{3}$" 0; #1000-4999 connections "~^[5-7].{3}$" 300k; #5000-7999 connections "~^[8-9].{3}$" 250k; #8000-9999 connections "~^1[0-2].{3}$" 200k; #10000-12999 connections "~^1[3-5].{3}$" 150k; #13000-15999 connections default 100k; #over 16000 connections } >> ЗЫ $connections_writing и другие переменные ngx_http_stub_status_module не >> описаны тут http://nginx.org/ru/docs/varindex.html > > Да вроде описаны. > Действительно, что-то я как-то плохо смотрел. From nginx-forum на nginx.us Thu Sep 17 07:59:10 2015 From: nginx-forum на nginx.us (wosk) Date: Thu, 17 Sep 2015 03:59:10 -0400 Subject: =?UTF-8?B?0J/RgNC+0LrRgdC40YDQvtCy0LDQvdC40LUg0YHQsNC50YLQsA==?= Message-ID: <54ac9a413fd602dcce8979c781f82d6e.NginxMailingListRussian@forum.nginx.org> Здравствуйте, можно ли средствами nginx проксировать сайт например ютуб Админ заблокировал доступ к сайту, хочу открыть. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,261634,261634#msg-261634 From public-mail на alekciy.ru Thu Sep 17 08:30:07 2015 From: public-mail на alekciy.ru (=?UTF-8?B?0JDQu9C10LrRgdC10Lkg0KHRg9C90LTRg9C60L7Qsg==?=) Date: Thu, 17 Sep 2015 12:30:07 +0400 Subject: =?UTF-8?B?UmU6INCf0YDQvtC60YHQuNGA0L7QstCw0L3QuNC1INGB0LDQudGC0LA=?= In-Reply-To: <54ac9a413fd602dcce8979c781f82d6e.NginxMailingListRussian@forum.nginx.org> References: <54ac9a413fd602dcce8979c781f82d6e.NginxMailingListRussian@forum.nginx.org> Message-ID: Для такой задачи разумнее использовать Squid https://ru.wikipedia.org/wiki/Squid 17 сентября 2015 г., 11:59 пользователь wosk написал: > Здравствуйте, можно ли средствами nginx проксировать сайт например ютуб > Админ заблокировал доступ к сайту, хочу открыть. > > Posted at Nginx Forum: > http://forum.nginx.org/read.php?21,261634,261634#msg-261634 > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru -------------- next part -------------- An HTML attachment was scrubbed... URL: From roma на qwertty.com Thu Sep 17 20:27:39 2015 From: roma на qwertty.com (Roman Odaisky) Date: Thu, 17 Sep 2015 23:27:39 +0300 Subject: =?UTF-8?B?UmU6INCl0L7Rh9GDINC90LDQv9C40YHQsNGC0Ywg0L/QsNGC0Yc=?= In-Reply-To: <04407f1475ee73956db1c4449b90633a.NginxMailingListRussian@forum.nginx.org> References: <04407f1475ee73956db1c4449b90633a.NginxMailingListRussian@forum.nginx.org> Message-ID: <1636835.pErNoRvj3V@shadow> On Tuesday, 25.08.2015 10:37:20 paperroot wrote: > Здравствуйте. > > Хочу написать патч, который будет отдавать контент предварительно > setuid'ившись в системного пользователя указанного в конфиге virtual_host'a, > для того чтобы обезопасить большое кол-во независимых проектов от разных > пользователей, работающих на одном мощном сервере. > ngx_http_static_module Если, например, файлы лежат по путям вида /srv/web/project42/static, и права на /srv/web/project42 — 0700 (и нельзя просто сделать chgrp www-data), то можно bind-маунтами вынести все static в отдельное место, куда юзер www-data уже будет иметь доступ. Или еще можно задействовать bindfs. -- HTH Roman. ----------- следущая часть ----------- Вложение не в текстовом формате было извлечено… Имя: signature.asc Тип: application/pgp-signature Размер: 473 байтов Описание: This is a digitally signed message part. URL: From simplebox66 на gmail.com Mon Sep 21 08:09:51 2015 From: simplebox66 на gmail.com (=?UTF-8?B?0JjQstCw0L0g0JzQuNGI0LjQvQ==?=) Date: Mon, 21 Sep 2015 11:09:51 +0300 Subject: =?UTF-8?B?0L/RgNC+0LHQu9C10LzQsCDRgSBzZXZlcml0eSDQv9GA0Lgg0L3QsNC/0YDQsNCy?= =?UTF-8?B?0LvQtdC90LjQuCBlcnJvcl9sb2cg0LIgc3lzbG9n?= Message-ID: Добрый день! Не могу до конца понять как работает перенаправление в syslog error log. С access_log все понятно access_log syslog:server=127.0.0.1:514,facility=local4,severity=info main задаем адрес сервера, порт, фасилити и северити и формат лога(который описан отдельно), получается что у меня все access сообщениям прикручивается селектор local4.info по которому я потом веду обработку в сислоге. в сислог конфиге пишу: $template nginx_test_access,"/a/b/c/nginx_test_error.log" $template ClearMessageFormat,"%fromhost-ip% | %msg:2:$%\n" if $syslogfacility-text == 'local4' and $syslogpriority-text == 'info' then -?nginx_test_access;ClearMessageFormat Соответственно access логи у меня четко складываются в /a/b/c/nginx_test_access.log в случае же с error_log хотел назначить логу селектор local4.warn, то есть чтобы все логи error_log имели селектор local4.warn (по аналогию с access логами) пишу в конфиге nginx: error_log syslog:server=127.0.0.1:514,facility=local4,severity=warn notice а в конфиге syslog: $template nginx_test_error,"/a/b/c/nginx_test_error.log" $template ClearMessageFormat,"%fromhost-ip% | %msg:2:$%\n" if $syslogfacility-text == 'local4' and $syslogpriority-text == 'info' then -?nginx_test_error;ClearMessageFormat но логи в шаблон не попадают, потому что я так понял в итоге логи имеют фасилити local4 а северити в зависимости от типа сообщения или notice или errror или emerg и т.д. Таким образом error логи забивают целиком диапазон local4. Можно ли как-то заставить работать error лог по аналогии с accesss логом? И почему в документации не сказано о том что указывать параметр severity для директивы error_log фактически бессмысленно? ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From vl на nginx.com Tue Sep 22 14:56:19 2015 From: vl на nginx.com (Vladimir Homutov) Date: Tue, 22 Sep 2015 17:56:19 +0300 Subject: =?UTF-8?B?UmU6INC/0YDQvtCx0LvQtdC80LAg0YEgc2V2ZXJpdHkg0L/RgNC4INC90LDQv9GA?= =?UTF-8?B?0LDQstC70LXQvdC40LggZXJyb3JfbG9nINCyIHN5c2xvZw==?= In-Reply-To: References: Message-ID: <20150922145619.GB2638@vlpc.nginx.com> On Mon, Sep 21, 2015 at 11:09:51AM +0300, Иван Мишин wrote: > Добрый день! > > Не могу до конца понять как работает перенаправление в syslog error log. > С access_log все понятно > access_log syslog:server=127.0.0.1:514,facility=local4,severity=info main > задаем адрес сервера, порт, фасилити и северити и формат лога(который > описан отдельно), получается что у меня все access сообщениям > прикручивается селектор local4.info по которому я потом веду обработку в > сислоге. > в сислог конфиге пишу: > $template nginx_test_access,"/a/b/c/nginx_test_error.log" > $template ClearMessageFormat,"%fromhost-ip% | %msg:2:$%\n" > if $syslogfacility-text == 'local4' and $syslogpriority-text == 'info' then > -?nginx_test_access;ClearMessageFormat > > Соответственно access логи у меня четко складываются в > /a/b/c/nginx_test_access.log > > в случае же с error_log хотел назначить логу селектор local4.warn, то есть > чтобы все логи error_log имели селектор local4.warn (по аналогию с access > логами) > пишу в конфиге nginx: > error_log syslog:server=127.0.0.1:514,facility=local4,severity=warn notice > > а в конфиге syslog: > $template nginx_test_error,"/a/b/c/nginx_test_error.log" > $template ClearMessageFormat,"%fromhost-ip% | %msg:2:$%\n" > if $syslogfacility-text == 'local4' and $syslogpriority-text == 'info' then > -?nginx_test_error;ClearMessageFormat > > но логи в шаблон не попадают, потому что я так понял в итоге логи имеют > фасилити local4 а северити в зависимости от типа сообщения или notice или > errror или emerg и т.д. > Таким образом error логи забивают целиком диапазон local4. > Можно ли как-то заставить работать error лог по аналогии с accesss логом? > И почему в документации не сказано о том что указывать параметр severity > для директивы error_log фактически бессмысленно? спасибо за репорт, документацию поправили. From mdounin на mdounin.ru Tue Sep 22 15:20:35 2015 From: mdounin на mdounin.ru (Maxim Dounin) Date: Tue, 22 Sep 2015 18:20:35 +0300 Subject: nginx-1.9.5 Message-ID: <20150922152035.GD13202@mdounin.ru> Изменения в nginx 1.9.5 22.09.2015 *) Добавление: модуль ngx_http_v2_module (заменяет модуль ngx_http_spdy_module). Спасибо Dropbox и Automattic за спонсирование разработки. *) Изменение: теперь по умолчанию директива output_buffers использует два буфера. *) Изменение: теперь nginx ограничивает максимальную вложенность подзапросов, а не количество одновременных подзапросов. *) Изменение: теперь при возврате ответов из кэша nginx проверяет ключ полностью. Спасибо Геннадию Махомеду и Сергею Брестеру. *) Исправление: при использовании кэша в логах могли появляться сообщения "header already sent"; ошибка появилась в 1.7.5. *) Исправление: при использовании CephFS и директивы timer_resolution на Linux в логах могли появляться сообщения "writev() failed (4: Interrupted system call)". *) Исправление: в обработке ошибок конфигурации. Спасибо Markus Linnala. *) Исправление: при использовании директивы sub_filter на уровне http в рабочем процессе происходил segmentation fault; ошибка появилась в 1.9.4. -- Maxim Dounin http://nginx.org/ From mva на mva.name Tue Sep 22 15:43:42 2015 From: mva на mva.name (Vadim A. Misbakh-Soloviov) Date: Tue, 22 Sep 2015 21:43:42 +0600 Subject: =?UTF-8?B?UmU6INC/0YDQvtCx0LvQtdC80LAg0YEgc2V2ZXJpdHkg0L/RgNC4INC90LDQv9GA?= =?UTF-8?B?0LDQstC70LXQvdC40LggZXJyb3JfbG9nINCyIHN5c2xvZw==?= In-Reply-To: References: Message-ID: <2971784.StYjN03gtC@note> В письме от Monday 21 September 2015 11:09:51 пользователь Иван Мишин написал: А отвечая на: > Можно ли как-то заставить работать error лог по аналогии с accesss логом? Можно: указать, что вы хотите получать только этот тип (см. докуентацию) -- Best regards, mva ----------- следущая часть ----------- Вложение не в текстовом формате было извлечено… Имя: signature.asc Тип: application/pgp-signature Размер: 819 байтов Описание: This is a digitally signed message part. URL: From postmaster на softsearch.ru Tue Sep 22 16:34:04 2015 From: postmaster на softsearch.ru (=?Windows-1251?B?zOj14OjrIMzu7eD4uOI=?=) Date: Tue, 22 Sep 2015 19:34:04 +0300 Subject: nginx-1.9.5 In-Reply-To: <20150922152035.GD13202@mdounin.ru> References: <20150922152035.GD13202@mdounin.ru> Message-ID: <362424955.20150922193404@softsearch.ru> Здравствуйте, Maxim. > Изменения в nginx 1.9.5 22.09.2015 > *) Добавление: модуль ngx_http_v2_module (заменяет модуль > ngx_http_spdy_module). > Спасибо Dropbox и Automattic за спонсирование разработки. А какие браузеры сейчас поддерживают http2 без TLS по-умолчанию? -- С уважением, Михаил mailto:postmaster на softsearch.ru From mdounin на mdounin.ru Tue Sep 22 16:53:19 2015 From: mdounin на mdounin.ru (Maxim Dounin) Date: Tue, 22 Sep 2015 19:53:19 +0300 Subject: nginx-1.9.5 In-Reply-To: <362424955.20150922193404@softsearch.ru> References: <20150922152035.GD13202@mdounin.ru> <362424955.20150922193404@softsearch.ru> Message-ID: <20150922165319.GF13202@mdounin.ru> Hello! On Tue, Sep 22, 2015 at 07:34:04PM +0300, Михаил Монашёв wrote: > Здравствуйте, Maxim. > > > Изменения в nginx 1.9.5 22.09.2015 > > > *) Добавление: модуль ngx_http_v2_module (заменяет модуль > > ngx_http_spdy_module). > > Спасибо Dropbox и Automattic за спонсирование разработки. > > А какие браузеры сейчас поддерживают http2 без TLS по-умолчанию? Никакие, AFAIK. Все известные браузеры по умолчанию пытаются использовать HTTP/2 только через TLS с ALPN или NPN, как собственно и SPDY. -- Maxim Dounin http://nginx.org/ From postmaster на softsearch.ru Tue Sep 22 16:56:17 2015 From: postmaster на softsearch.ru (=?Windows-1251?B?zOj14OjrIMzu7eD4uOI=?=) Date: Tue, 22 Sep 2015 19:56:17 +0300 Subject: nginx-1.9.5 In-Reply-To: <20150922165319.GF13202@mdounin.ru> References: <20150922152035.GD13202@mdounin.ru> <362424955.20150922193404@softsearch.ru> <20150922165319.GF13202@mdounin.ru> Message-ID: <1557438713.20150922195617@softsearch.ru> Здравствуйте, Maxim. >> > Изменения в nginx 1.9.5 22.09.2015 >> >> > *) Добавление: модуль ngx_http_v2_module (заменяет модуль >> > ngx_http_spdy_module). >> > Спасибо Dropbox и Automattic за спонсирование разработки. >> >> А какие браузеры сейчас поддерживают http2 без TLS по-умолчанию? > Никакие, AFAIK. Все известные браузеры по умолчанию пытаются > использовать HTTP/2 только через TLS с ALPN или NPN, как > собственно и SPDY. А с чем связана такое поведение, как считаешь? Нешифрованный http типа уже никому не нужен и нет смысла его развивать? -- С уважением, Михаил mailto:postmaster на softsearch.ru From vbart на nginx.com Tue Sep 22 17:12:40 2015 From: vbart на nginx.com (=?utf-8?B?0JLQsNC70LXQvdGC0LjQvSDQkdCw0YDRgtC10L3QtdCy?=) Date: Tue, 22 Sep 2015 20:12:40 +0300 Subject: nginx-1.9.5 In-Reply-To: <1557438713.20150922195617@softsearch.ru> References: <20150922152035.GD13202@mdounin.ru> <20150922165319.GF13202@mdounin.ru> <1557438713.20150922195617@softsearch.ru> Message-ID: <12050263.NLo1pRROXV@vbart-laptop> On Tuesday 22 September 2015 19:56:17 Михаил Монашёв wrote: > Здравствуйте, Maxim. > > >> > Изменения в nginx 1.9.5 22.09.2015 > >> > >> > *) Добавление: модуль ngx_http_v2_module (заменяет модуль > >> > ngx_http_spdy_module). > >> > Спасибо Dropbox и Automattic за спонсирование разработки. > >> > >> А какие браузеры сейчас поддерживают http2 без TLS по-умолчанию? > > > Никакие, AFAIK. Все известные браузеры по умолчанию пытаются > > использовать HTTP/2 только через TLS с ALPN или NPN, как > > собственно и SPDY. > > А с чем связана такое поведение, как считаешь? Нешифрованный http типа > уже никому не нужен и нет смысла его развивать? > Нет большого смысла в HTTP/2 без TLS, поскольку основная экономия там на хэндшейках, которые в случае TLS сравнительно дорогие. Если вам не нужен TLS, то скорее всего не нужен и HTTP/2. -- Валентин Бартенев From simplebox66 на gmail.com Wed Sep 23 06:34:07 2015 From: simplebox66 на gmail.com (=?UTF-8?B?0JjQstCw0L0g0JzQuNGI0LjQvQ==?=) Date: Wed, 23 Sep 2015 09:34:07 +0300 Subject: =?UTF-8?B?UmU6INC/0YDQvtCx0LvQtdC80LAg0YEgc2V2ZXJpdHkg0L/RgNC4INC90LDQv9GA?= =?UTF-8?B?0LDQstC70LXQvdC40LggZXJyb3JfbG9nINCyIHN5c2xvZw==?= In-Reply-To: <2971784.StYjN03gtC@note> References: <2971784.StYjN03gtC@note> Message-ID: > > В письме от Monday 21 September 2015 11:09:51 пользователь Иван Мишин > написал: > А отвечая на: > > Можно ли как-то заставить работать error лог по аналогии с accesss логом? > Можно: указать, что вы хотите получать только этот тип (см. докуентацию) Можете пояснить, как это делается и какую конкретно доку смотреть. Возможно вы не в полной мере поняли мою потребность. 22 сентября 2015 г., 18:43 пользователь Vadim A. Misbakh-Soloviov < mva на mva.name> написал: > В письме от Monday 21 September 2015 11:09:51 пользователь Иван Мишин > написал: > А отвечая на: > > Можно ли как-то заставить работать error лог по аналогии с accesss логом? > Можно: указать, что вы хотите получать только этот тип (см. докуентацию) > > -- > Best regards, > mva > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru > ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From maxim.valeev на frumatic.com Wed Sep 23 07:24:14 2015 From: maxim.valeev на frumatic.com (Maxim Valeev) Date: Wed, 23 Sep 2015 12:24:14 +0500 Subject: =?UTF-8?B?c3BkeSDQsdC+0LvRjNGI0L7QuSB0dGZi?= Message-ID: Добрый день! Не могу понять чем обусловлен такой большой Waiting (TTFB), если обращаться напрямую, то отдается все махом. Скрин с загрузкой https://drive.google.com/open?id=0B0qFuYdYWHE1YzkwYm5mWlEybFk nginx version: nginx/1.8.0 built by gcc 4.8.2 (Ubuntu 4.8.2-19ubuntu1) built with OpenSSL 1.0.1f 6 Jan 2014 TLS SNI support enabled configure arguments: --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 --pid-path=/var/run/nginx.pid --lock-path=/var/run/nginx.lock --http-client-body-temp-path=/var/cache/nginx/client_temp --http-proxy-temp-path=/var/cache/nginx/proxy_temp --http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp --http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp --http-scgi-temp-path=/var/cache/nginx/scgi_temp --user=nginx --group=nginx --with-debug --with-pcre-jit --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_mp4_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_random_index_module --with-http_secure_link_module --with-http_stub_status_module --with-http_auth_request_module --with-http_spdy_module --with-http_geoip_module --with-http_image_filter_module --with-http_xslt_module --with-file-aio --with-mail --with-mail_ssl_module --add-module=/build/nginx-modules/ngx_devel_kit --add-module=/build/nginx-modules/lua-nginx-module --add-module=/build/nginx-modules/headers-more-nginx-module --with-cc-opt='-g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2' --with-ld-opt='-Wl,-Bsymbolic-functions -Wl,-z,relro' ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From norman.k77 на gmail.com Wed Sep 23 14:19:38 2015 From: norman.k77 на gmail.com (=?UTF-8?B?0JPQvtGA0LDQvSDQn9C10YLRgNGL0Yc=?=) Date: Wed, 23 Sep 2015 17:19:38 +0300 Subject: =?UTF-8?B?0J/QtdGA0LXQvNC10L3QvdCw0Y8g0LTQu9GPIHpvbmUg0LIgbGltaXRfcmVxX3pv?= =?UTF-8?B?bmU=?= Message-ID: Добрый день, Хотелось бы, чтобы "zone" в limit_req_zone можно было объявить динамически. На сервере много виртуальных хостов, которые подхватываются конфигом nginx автоматически (то есть явно не прописываются). Хотелось бы как-то так: limit_req_zone $binary_remote_addr zone=$hostname:10m rate=5r/s; В location / limit_req zone=$hostname burst=5; Но zone переменные воспринимает как просто строку. Задача: лимитировать каждый виртуальный хост отдельно, не перечисляя явно зоны для каждого виртуального хоста. ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From mdounin на mdounin.ru Wed Sep 23 14:55:56 2015 From: mdounin на mdounin.ru (Maxim Dounin) Date: Wed, 23 Sep 2015 17:55:56 +0300 Subject: =?UTF-8?B?UmU6INCf0LXRgNC10LzQtdC90L3QsNGPINC00LvRjyB6b25lINCyIGxpbWl0X3Jl?= =?UTF-8?B?cV96b25l?= In-Reply-To: References: Message-ID: <20150923145556.GM13202@mdounin.ru> Hello! On Wed, Sep 23, 2015 at 05:19:38PM +0300, Горан Петрыч wrote: > Добрый день, > > Хотелось бы, чтобы "zone" в limit_req_zone можно было объявить динамически. На > сервере много виртуальных хостов, которые подхватываются конфигом nginx > автоматически (то есть явно не прописываются). Хотелось бы как-то так: > limit_req_zone > $binary_remote_addr zone=$hostname:10m rate=5r/s; В location / limit_req > zone=$hostname burst=5; Но zone переменные воспринимает как просто > строку. Задача: > лимитировать каждый виртуальный хост отдельно, не перечисляя явно зоны для > каждого виртуального хоста. Используйте составной ключ в одной зоне: limit_req_zone $hostname$binary_remote_addr zone=limit:10m rate=5r/s; Возможность использовать строку с несколькими переменными есть в nginx 1.7.6+. В более старых версиях - следует отдельно создать переменную, в которую положить нужное. limit_req_zone $hostname_and_binary_remote_addr zone=limit:10m rate=5r/s; server { ... set $hostname_and_binary_remote_addr $hostname$binary_remote_addr; ... } -- Maxim Dounin http://nginx.org/ From norman.k77 на gmail.com Wed Sep 23 15:32:19 2015 From: norman.k77 на gmail.com (=?UTF-8?B?0JPQvtGA0LDQvSDQn9C10YLRgNGL0Yc=?=) Date: Wed, 23 Sep 2015 18:32:19 +0300 Subject: =?UTF-8?B?UmU6INCf0LXRgNC10LzQtdC90L3QsNGPINC00LvRjyB6b25lINCyIGxpbWl0X3Jl?= =?UTF-8?B?cV96b25l?= In-Reply-To: <20150923145556.GM13202@mdounin.ru> References: <20150923145556.GM13202@mdounin.ru> Message-ID: Здравствуйте, в документации не нашел $hostname_and_binary_remote_addr. Спасибо! То, что нужно! 23 сентября 2015 г., 17:55 пользователь Maxim Dounin написал: > Hello! > > On Wed, Sep 23, 2015 at 05:19:38PM +0300, Горан Петрыч wrote: > > > Добрый день, > > > > Хотелось бы, чтобы "zone" в limit_req_zone можно было объявить > динамически. На > > сервере много виртуальных хостов, которые подхватываются конфигом nginx > > автоматически (то есть явно не прописываются). Хотелось бы как-то так: > > limit_req_zone > > $binary_remote_addr zone=$hostname:10m rate=5r/s; В location / limit_req > > zone=$hostname burst=5; Но zone переменные воспринимает как просто > > строку. Задача: > > лимитировать каждый виртуальный хост отдельно, не перечисляя явно зоны > для > > каждого виртуального хоста. > > Используйте составной ключ в одной зоне: > > limit_req_zone $hostname$binary_remote_addr zone=limit:10m rate=5r/s; > > Возможность использовать строку с несколькими переменными есть в > nginx 1.7.6+. В более старых версиях - следует отдельно создать > переменную, в которую положить нужное. > > limit_req_zone $hostname_and_binary_remote_addr zone=limit:10m > rate=5r/s; > > server { > ... > > set $hostname_and_binary_remote_addr $hostname$binary_remote_addr; > > ... > } > > -- > Maxim Dounin > http://nginx.org/ > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From igor на sysoev.ru Wed Sep 23 18:53:07 2015 From: igor на sysoev.ru (Igor Sysoev) Date: Wed, 23 Sep 2015 21:53:07 +0300 Subject: javascript in nginx Message-ID: <92E31212-949F-459B-BC2B-28E87DEF4A4A@sysoev.ru> Сегодня на конференции nginx.conf/2015 мы объявили о выпуске предварительной версии javascript в nginx’е. Репозитарий: http://hg.nginx.org/njs/ Примеры использования: https://www.nginx.com/blog/launching-nginscript-and-looking-ahead Интересно ваше мнение об JS-интерфейсе к внутренностям nginx’а. -- Igor Sysoev http://nginx.com From mva на mva.name Wed Sep 23 19:28:30 2015 From: mva на mva.name (Vadim A. Misbakh-Soloviov) Date: Thu, 24 Sep 2015 01:28:30 +0600 Subject: javascript in nginx In-Reply-To: <92E31212-949F-459B-BC2B-28E87DEF4A4A@sysoev.ru> References: <92E31212-949F-459B-BC2B-28E87DEF4A4A@sysoev.ru> Message-ID: <69266774.kD04vdkV0K@note> В письме от Wednesday 23 September 2015 21:53:07 пользователь Igor Sysoev написал: > Интересно ваше мнение об JS-интерфейсе к внутренностям nginx’а. С точки зрения совреенных трендов — всё хорошо, да и к тому же "больше плагинов, хороших и разных" (особенно в преддверии поддержки динамической загрузки (и, я надеюсь, сборки) плагинов) А вот сам тренд, приведший JavaScript в серверную часть — мне, всё-таки, странен. -- Best regards, mva ----------- следущая часть ----------- Вложение не в текстовом формате было извлечено… Имя: signature.asc Тип: application/pgp-signature Размер: 819 байтов Описание: This is a digitally signed message part. URL: From onokonem на gmail.com Wed Sep 23 19:34:42 2015 From: onokonem на gmail.com (Daniel Podolsky) Date: Wed, 23 Sep 2015 22:34:42 +0300 Subject: javascript in nginx In-Reply-To: <69266774.kD04vdkV0K@note> References: <92E31212-949F-459B-BC2B-28E87DEF4A4A@sysoev.ru> <69266774.kD04vdkV0K@note> Message-ID: > А вот сам тренд, приведший JavaScript в серверную часть — мне, всё-таки, > странен. V8 - хорошая VM From ano на bestmx.net Wed Sep 23 19:45:12 2015 From: ano на bestmx.net (Andrey Oktyabrskiy) Date: Wed, 23 Sep 2015 22:45:12 +0300 Subject: javascript in nginx In-Reply-To: <92E31212-949F-459B-BC2B-28E87DEF4A4A@sysoev.ru> References: <92E31212-949F-459B-BC2B-28E87DEF4A4A@sysoev.ru> Message-ID: <56030148.1080506@bestmx.net> On 09/23/2015 09:53 PM, Igor Sysoev wrote: > Интересно ваше мнение об JS-интерфейсе к внутренностям nginx’а. Лучше бы на lua это время потратили. From postmaster на softsearch.ru Wed Sep 23 20:24:13 2015 From: postmaster на softsearch.ru (=?Windows-1251?B?zOj14OjrIMzu7eD4uOI=?=) Date: Wed, 23 Sep 2015 23:24:13 +0300 Subject: javascript in nginx In-Reply-To: <92E31212-949F-459B-BC2B-28E87DEF4A4A@sysoev.ru> References: <92E31212-949F-459B-BC2B-28E87DEF4A4A@sysoev.ru> Message-ID: <1398010071.20150923232413@softsearch.ru> Здравствуйте, Igor. > Репозитарий: > http://hg.nginx.org/njs/ > Примеры использования: > https://www.nginx.com/blog/launching-nginscript-and-looking-ahead > Интересно ваше мнение об JS-интерфейсе к внутренностям nginx’а. В примерах вместо return s; пишется просто s; , что не очень наглядно. Сложно глазами найти места, где происходит выход и возврат значения. В примерах, да и вообще, ИМХО возврат значения лучше писать явно с return . $r.method выглядит по перловому как-то. :-) Вариант с заранее предопределёнными переменными req и resp тоже не очень, но в Ноде такие имена прижились и понятны. Было бы удобно весь код скрипта заключать не в двойные кавычки, а то помнить, что надо писать \" в коде неудобно. Хотя это по синтаксису и совместимо с синтаксисом конфига, но именно программировать геморно и будет вести к ошибкам. Может предусмотреть ещё какой-то символ для задания начала и конца значения в конфиге? Например, те же {} тут будут более чем уместны и понятны. Было бы здорово, наверное, писать что-то вроде js_set scripts/set_headers.js js_run scripts/print_headers.js Тут http://hg.nginx.org/njs/file/11d4d66851ed/README видимо ошибка: res.contentLength = 11; , ибо дли ответа не 11 байт. В какой кодировке пишутся скрипты? Какие функции из обычного JavaScript-а поддерживаются? Будет ли язык упрощённым JS-ом или может пойти в сторону Go или Dart, например? Можно ли вместо кода писать скомпиленный бинарный код, чтобы можно было скрывать исходники и затруднять их чтение? Вообще, это конечно прорыв. И то, что пишется своя VM - это очень правильно. И язык выбран тоже правильно. В JS подкупает простота и популярность. Я очень боялся, что выйдет Нода, которая из гомна и палок. И рад, что вышло иначе. Вышел nginx. :-) -- С уважением, Михаил mailto:postmaster на softsearch.ru From postmaster на softsearch.ru Wed Sep 23 20:47:23 2015 From: postmaster на softsearch.ru (=?Windows-1251?B?zOj14OjrIMzu7eD4uOI=?=) Date: Wed, 23 Sep 2015 23:47:23 +0300 Subject: javascript in nginx In-Reply-To: <92E31212-949F-459B-BC2B-28E87DEF4A4A@sysoev.ru> References: <92E31212-949F-459B-BC2B-28E87DEF4A4A@sysoev.ru> Message-ID: <167790236.20150923234723@softsearch.ru> Здравствуйте, Igor. > Интересно ваше мнение об JS-интерфейсе к внутренностям nginx’а. Было бы интересно иметь возможность смотреть, во что преобразуется написанный код. Судя по http://hg.nginx.org/njs/file/157dc59dae36/njs/njs_disassembler.c он вполне читаем. Может на нём и писать можно? :-) -- С уважением, Михаил mailto:postmaster на softsearch.ru From postmaster на softsearch.ru Wed Sep 23 20:52:07 2015 From: postmaster на softsearch.ru (=?Windows-1251?B?zOj14OjrIMzu7eD4uOI=?=) Date: Wed, 23 Sep 2015 23:52:07 +0300 Subject: javascript in nginx In-Reply-To: <92E31212-949F-459B-BC2B-28E87DEF4A4A@sysoev.ru> References: <92E31212-949F-459B-BC2B-28E87DEF4A4A@sysoev.ru> Message-ID: <345235686.20150923235207@softsearch.ru> Здравствуйте, Igor. А ещё примеры конфигов с кодом nginscript есть? Судя по исходникам там куча всего реализовано, но не всё из JavaScript-а вроде. -- С уважением, Михаил mailto:postmaster на softsearch.ru From postmaster на softsearch.ru Wed Sep 23 21:07:46 2015 From: postmaster на softsearch.ru (=?Windows-1251?B?zOj14OjrIMzu7eD4uOI=?=) Date: Thu, 24 Sep 2015 00:07:46 +0300 Subject: javascript in nginx In-Reply-To: <92E31212-949F-459B-BC2B-28E87DEF4A4A@sysoev.ru> References: <92E31212-949F-459B-BC2B-28E87DEF4A4A@sysoev.ru> Message-ID: <987732192.20150924000746@softsearch.ru> Здравствуйте, Igor. А как текущая иерархия у $r (ответ - это объект запроса) будет работать с HTTP v2? Если я правильно понимаю, то в HTTP v2 есть не только запрос и ответ. Возможна и посылка данных, которые никак не связаны с запросом, а привязаны к соединению. И даже если я ошибаюсь по поводу HTTP v2, то в будущем будет именно так: соединение, по нему одновременно идёт много пачек данных в одну сторону и много пачек данных в другую сторону. И все они могут иметь, а могут и не иметь связи. Например, по таймауту что-то шлётся в браузер. Или по стороннему событию: пришло новое сообщение в чат. -- С уважением, Михаил mailto:postmaster на softsearch.ru From sejo412 на gmail.com Wed Sep 23 21:58:45 2015 From: sejo412 на gmail.com (=?UTF-8?B?0KHQuNC90LjRhtC60LjQuSDQn9Cw0LLQtdC7INCV0LLQs9C10L3RjNC10LLQuNGH?=) Date: Thu, 24 Sep 2015 00:58:45 +0300 Subject: include * Message-ID: Добрый вечер, В каком порядке считывается сабж? зависит ли от ОС? -- С уважением, ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From igor на sysoev.ru Thu Sep 24 03:50:33 2015 From: igor на sysoev.ru (Igor Sysoev) Date: Thu, 24 Sep 2015 06:50:33 +0300 Subject: include * In-Reply-To: References: Message-ID: <3F10EE59-05E0-433F-A481-1DE98812F478@sysoev.ru> On 24 Sep 2015, at 00:58, Синицкий Павел Евгеньевич wrote: > В каком порядке считывается сабж? зависит ли от ОС? Изменения в nginx 1.3.10 25.12.2012 *) Изменение: теперь при использовании директивы include с маской на Unix-системах включаемые файлы сортируются в алфавитном порядке. До этой версии использовался не сортированный порядок. На Windows до сих пор сортировка не гарантируется, но на обычно выполняется на NTFS. -- Igor Sysoev http://nginx.com -------------- next part -------------- An HTML attachment was scrubbed... URL: From mva на mva.name Thu Sep 24 07:05:37 2015 From: mva на mva.name (Vadim A. Misbakh-Soloviov) Date: Thu, 24 Sep 2015 13:05:37 +0600 Subject: javascript in nginx In-Reply-To: <56030148.1080506@bestmx.net> References: <92E31212-949F-459B-BC2B-28E87DEF4A4A@sysoev.ru> <56030148.1080506@bestmx.net> Message-ID: <2482581.3xggRbhCrR@note> > Лучше бы на lua это время потратили. А зачем его тратить, если Yichun Zhang уже всё сделал и всё прекрасно работает? // А вот если бы Lua-модуль взяли "в коробку", это, да, было бы хорошо (но и онтопик не в коробке, смею заметить) -- Best regards, mva ----------- следущая часть ----------- Вложение не в текстовом формате было извлечено… Имя: signature.asc Тип: application/pgp-signature Размер: 819 байтов Описание: This is a digitally signed message part. URL: From denis на webmaster.spb.ru Thu Sep 24 09:30:32 2015 From: denis на webmaster.spb.ru (denis) Date: Thu, 24 Sep 2015 12:30:32 +0300 Subject: javascript in nginx In-Reply-To: <2482581.3xggRbhCrR@note> References: <92E31212-949F-459B-BC2B-28E87DEF4A4A@sysoev.ru> <56030148.1080506@bestmx.net> <2482581.3xggRbhCrR@note> Message-ID: <5603C2B8.4080903@webmaster.spb.ru> 24.09.2015 10:05, Vadim A. Misbakh-Soloviov пишет: >> Лучше бы на lua это время потратили. > А зачем его тратить, если Yichun Zhang уже всё сделал и всё прекрасно > работает? модуль может и работает, но штатно его нет, поэтому о нём мало кто знает. А ведь это пожалуй единственный лёгкий способ обработки POST данных в запросе (то, что на перле - пара файлов и пара кб кода, на луа 3 строки). > // А вот если бы Lua-модуль взяли "в коробку", это, да, было бы хорошо (но и > онтопик не в коробке, смею заметить) Это необходимо, а не просто хорошо. А перл, который идёт штатно, и у которого до сих пор статус "нестабильный", выпилить к чертям. From gmm на csdoc.com Thu Sep 24 14:17:09 2015 From: gmm на csdoc.com (Gena Makhomed) Date: Thu, 24 Sep 2015 17:17:09 +0300 Subject: javascript in nginx In-Reply-To: <2482581.3xggRbhCrR@note> References: <92E31212-949F-459B-BC2B-28E87DEF4A4A@sysoev.ru> <56030148.1080506@bestmx.net> <2482581.3xggRbhCrR@note> Message-ID: <560405E5.2060403@csdoc.com> On 24.09.2015 10:05, Vadim A. Misbakh-Soloviov wrote: >> Лучше бы на lua это время потратили. > > А зачем его тратить, если Yichun Zhang уже всё сделал и всё прекрасно > работает? > > // А вот если бы Lua-модуль взяли "в коробку", это, да, было бы хорошо (но и > онтопик не в коробке, смею заметить) Lua-модуль уже есть "в коробке" nginx-plus-extras https://www.nginx.com/products/technical-specs/ правда цены там... $1500/yr -- Best regards, Gena From sytar.alex на gmail.com Thu Sep 24 14:41:25 2015 From: sytar.alex на gmail.com (Aleksandr Sytar) Date: Thu, 24 Sep 2015 17:41:25 +0300 Subject: javascript in nginx In-Reply-To: <560405E5.2060403@csdoc.com> References: <92E31212-949F-459B-BC2B-28E87DEF4A4A@sysoev.ru> <56030148.1080506@bestmx.net> <2482581.3xggRbhCrR@note> <560405E5.2060403@csdoc.com> Message-ID: 24 сентября 2015 г., 17:17 пользователь Gena Makhomed написал: > On 24.09.2015 10:05, Vadim A. Misbakh-Soloviov wrote: > > Лучше бы на lua это время потратили. >>> >> >> А зачем его тратить, если Yichun Zhang уже всё сделал и всё прекрасно >> работает? >> >> // А вот если бы Lua-модуль взяли "в коробку", это, да, было бы хорошо >> (но и >> онтопик не в коробке, смею заметить) >> > > Lua-модуль уже есть "в коробке" nginx-plus-extras > > https://www.nginx.com/products/technical-specs/ > > правда цены там... $1500/yr Так там не за модули берут, а за саппорт - чтобы модуль работал как надо ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From gmm на csdoc.com Thu Sep 24 17:11:52 2015 From: gmm на csdoc.com (Gena Makhomed) Date: Thu, 24 Sep 2015 20:11:52 +0300 Subject: javascript in nginx In-Reply-To: References: <92E31212-949F-459B-BC2B-28E87DEF4A4A@sysoev.ru> <56030148.1080506@bestmx.net> <2482581.3xggRbhCrR@note> <560405E5.2060403@csdoc.com> Message-ID: <56042ED8.6000200@csdoc.com> On 24.09.2015 17:41, Aleksandr Sytar wrote: >>> А вот если бы Lua-модуль взяли "в коробку", это, да, >>> было бы хорошо (но и онтопик не в коробке, смею заметить) >> >> Lua-модуль уже есть "в коробке" nginx-plus-extras >> >> https://www.nginx.com/products/technical-specs/ >> >> правда цены там... $1500/yr > > Так там не за модули берут, а за саппорт - чтобы модуль работал как надо Ясное дело, ведь иначе зачем вам модуль, который не будет работать как надо? Средний сайт только за хостинг в год платит $1500/yr или даже больше, так что цены там не очень большие. Учитывая то, насколько Lua-модуль кривой и сложный, - такая цена $1500/yr вполне оправдана за его поддержку. Просто, насколько я понимаю, нельзя купить отдельно только те модули и только те функции, которые нужны, не переплачивая за все остальное, что вообще не нужно. Например, если кому-то нужен только модуль реализующий статистику http://demo.nginx.com/status.html и не нужны все остальные модули и функциональность из nginx-plus - покупать статистику за $1500/yr будет слишком дорого. Есть открытый модуль для сбора статистики о работе nginx https://github.com/nginx-modules/ngx_http_json_status_module но там пока что реализованы не все возможности, которые есть в nginx-plus. Возможно доделать этот открытый модуль до полнофункционального состояния - только вопрос времени? Интересным для пользователей вариантом было бы открыть модуль статистики и перенести его из nginx-plus в nginx, - ведь вряд ли это есть основной модуль из-за которого люди покупают поддержку, так что revenue от открытия этого модуля по идее не должно очень сильно упасть. P.S. В OpenVZ приняли решение использовать интересную модель - базовая версия Virtuozzo 7 будет полностью бесплатной и свободно доступной всем желающим, а платную функциональность можно будет докупать отдельными модулями по мере необходимости: http://blog.odin.com/serviceprovider/2015/7/14/coming-soon-a-more-open-platform-for-openvz Coming Soon: A More Open Platform for OpenVZ http://habrahabr.ru/company/parallels/blog/259385/ Зачем мы открыли код Virtuozzo Для OpenVZ - это точно имеет смысл, потому что лучше им иметь пользователей, которые купять некоторе фичи, чем не купят вообще ничего и будут использовать полностью бесплатный и полностью открытый вариант OpenVZ, потому что полная версия стоит слишком дорого и 80-90% функциональности платной версии всем не нужно, а ради тех 10-20% переплачивать столько денег просто нет смысла и проще будет использовать OpenVZ. Но если nginx начнет лицензирование модулей по такой же схеме - не могу сказать, вырастет от этого revenue или наоборот упадет. Тем более, что пропатчить один бинарник и отучить его от проверки лицензии - это совсем не сложно и даже можно сказать что тривиально. Тогда воровство модулей может расцвести буйным цветом и revenue упадет. -- Best regards, Gena From nginx-ru на sadok.spb.ru Thu Sep 24 18:00:54 2015 From: nginx-ru на sadok.spb.ru (Dmitry Ivanov) Date: Thu, 24 Sep 2015 21:00:54 +0300 Subject: =?UTF-8?Q?FreeBSD=2C_OpenSSL_=D0=B8_www/nginx-*?= Message-ID: <5510047026.20150924210054@sadok.spb.ru> Здравствуйте, All. Какая-то странность у меня при сборке nginx из свежих портов. Причем на одной только машинке. Краткий анамнез: # uname -r 11.0-CURRENT # grep OPENSSL /etc/make.conf WITH_OPENSSL_PORT=YES После make, который проходит нормально, nginx падает в корку. При этом: # ldd `which nginx` /usr/local/sbin/nginx: libcrypt.so.5 => /lib/libcrypt.so.5 (0x28178000) libpcre.so.1 => /usr/local/lib/libpcre.so.1 (0x2819b000) libssl.so.8 => /usr/lib/libssl.so.8 (0x28212000) libcrypto.so.8 => /lib/libcrypto.so.8 (0x2826b000) libz.so.6 => /lib/libz.so.6 (0x283ef000) libc.so.7 => /lib/libc.so.7 (0x28403000) libthr.so.3 => /lib/libthr.so.3 (0x28565000) Т.е. он ищет ssl-ные библиотеки совсем не там, где они должны быть: /usr/local/lib/libcrypto.so.8 /usr/local/lib/libssl.so.8 Слинкуешь "портовые" модули в то место, куда хочет nginx - все взлетает. Вопрос: это я что-то мог накрутить или автор порта nginx? -- С уважением, Dmitry From mva на mva.name Thu Sep 24 18:03:04 2015 From: mva на mva.name (Vadim A. Misbakh-Soloviov) Date: Fri, 25 Sep 2015 00:03:04 +0600 Subject: javascript in nginx In-Reply-To: <56042ED8.6000200@csdoc.com> References: <92E31212-949F-459B-BC2B-28E87DEF4A4A@sysoev.ru> <56042ED8.6000200@csdoc.com> Message-ID: <16585392.hFpPZamru5@note> А как Вы думаете, зачем в 1.9 (возможно, уже в .6, хотя не берусь предсказывать) хотят сделать динамические модули? :D ----------- следущая часть ----------- Вложение не в текстовом формате было извлечено… Имя: signature.asc Тип: application/pgp-signature Размер: 819 байтов Описание: This is a digitally signed message part. URL: From mva на mva.name Thu Sep 24 18:12:18 2015 From: mva на mva.name (Vadim A. Misbakh-Soloviov) Date: Fri, 25 Sep 2015 00:12:18 +0600 Subject: =?UTF-8?Q?Re=3A_FreeBSD=2C_OpenSSL_=D0=B8_www/nginx-*?= In-Reply-To: <5510047026.20150924210054@sadok.spb.ru> References: <5510047026.20150924210054@sadok.spb.ru> Message-ID: <2707877.yELqkWmya9@note> а поизучайте его objdump'ом или readelf'ом на предмет rpath. Если там нет жёсткого указания пути, то, оно должно слушаться системного LD_PATH (или как оно там). А если есть, то косяк либо мейнтейнера, либо в коде. // и да, старайтесь, пожалуйста, избегать указания "свежий" вместо точной версии. В письме от Thursday 24 September 2015 21:00:54 пользователь Dmitry Ivanov написал: > Здравствуйте, All. > > Какая-то странность у меня при сборке nginx из свежих портов. Причем > на одной только машинке. Краткий анамнез: > > # uname -r > 11.0-CURRENT > > # grep OPENSSL /etc/make.conf > WITH_OPENSSL_PORT=YES > > После make, который проходит нормально, nginx падает в корку. При > этом: > > # ldd `which nginx` > /usr/local/sbin/nginx: > libcrypt.so.5 => /lib/libcrypt.so.5 (0x28178000) > libpcre.so.1 => /usr/local/lib/libpcre.so.1 (0x2819b000) > libssl.so.8 => /usr/lib/libssl.so.8 (0x28212000) > libcrypto.so.8 => /lib/libcrypto.so.8 (0x2826b000) > libz.so.6 => /lib/libz.so.6 (0x283ef000) > libc.so.7 => /lib/libc.so.7 (0x28403000) > libthr.so.3 => /lib/libthr.so.3 (0x28565000) > > > Т.е. он ищет ssl-ные библиотеки совсем не там, где они должны быть: > > /usr/local/lib/libcrypto.so.8 > /usr/local/lib/libssl.so.8 > > Слинкуешь "портовые" модули в то место, куда хочет nginx - все > взлетает. > > Вопрос: это я что-то мог накрутить или автор порта nginx? -- Best regards, mva ----------- следущая часть ----------- Вложение не в текстовом формате было извлечено… Имя: signature.asc Тип: application/pgp-signature Размер: 819 байтов Описание: This is a digitally signed message part. URL: From annulen на yandex.ru Thu Sep 24 19:12:35 2015 From: annulen на yandex.ru (Konstantin Tokarev) Date: Thu, 24 Sep 2015 22:12:35 +0300 Subject: javascript in nginx In-Reply-To: <16585392.hFpPZamru5@note> References: <92E31212-949F-459B-BC2B-28E87DEF4A4A@sysoev.ru> <56042ED8.6000200@csdoc.com> <16585392.hFpPZamru5@note> Message-ID: <886671443121955@web26g.yandex.ru> 24.09.2015, 21:03, "Vadim A. Misbakh-Soloviov" : > А как Вы думаете, зачем в 1.9 (возможно, уже в .6, хотя не берусь > предсказывать) хотят сделать динамические модули? :D Чтобы пользователи поломали голову, почему после обновления nginx вдруг начал падать (например, потому что установленные сторонние модули были собраны с предыдущей версией) -- Regards, Konstantin From nginx-ru на sadok.spb.ru Fri Sep 25 04:52:44 2015 From: nginx-ru на sadok.spb.ru (Dmitry Ivanov) Date: Fri, 25 Sep 2015 07:52:44 +0300 Subject: =?UTF-8?Q?Re=3A_FreeBSD=2C_OpenSSL_=D0=B8_www/nginx-*?= In-Reply-To: <2707877.yELqkWmya9@note> References: <5510047026.20150924210054@sadok.spb.ru> <2707877.yELqkWmya9@note> Message-ID: <716933356.20150925075244@sadok.spb.ru> Здравствуйте, Vadim. Вы писали 24 сентября 2015 г., 21:12:18: > а поизучайте его objdump'ом или readelf'ом на предмет rpath. Если там нет > жёсткого указания пути, то, оно должно слушаться системного LD_PATH (или как > оно там). А если есть, то косяк либо мейнтейнера, либо в коде. Если я правильно понял (я не программист и не разраб), то readelf говорит: # readelf -d `which nginx` Dynamic section at offset 0x10d014 contains 26 entries: Tag Type Name/Value 0x00000001 NEEDED Shared library: [libcrypt.so.5] 0x00000001 NEEDED Shared library: [libpcre.so.1] 0x00000001 NEEDED Shared library: [libssl.so.8] 0x00000001 NEEDED Shared library: [libcrypto.so.8] 0x00000001 NEEDED Shared library: [libz.so.6] 0x00000001 NEEDED Shared library: [libc.so.7] т.е. жестко не прибито. И даже # nginx -V nginx version: nginx/1.9.5 ...... --with-cc-opt='-I /usr/local/include' --with-ld-opt='-L /usr/local/lib' так что "мотор очень похож на настоящий". > // и да, старайтесь, пожалуйста, избегать указания "свежий" вместо точной > версии. "Свежий" - тут про порты. Но согласен )) nginx/1.9.5 -- С уважением, Dmitry nginx-ru на sadok.spb.ru From nginx-forum на nginx.us Fri Sep 25 10:29:25 2015 From: nginx-forum на nginx.us (vbresults) Date: Fri, 25 Sep 2015 06:29:25 -0400 Subject: Hiring Coder to Make ngx_preload_files Message-ID: Send a list of past modules made and a $$$ quote to develop and test this module. I will be posting it under my github account for easy access for myself and anyone else that needs it. I have a good budget and won't compromise on the functionality I've requested below. This module "ngx_preload_files" preloads one or more files on the filesystem into a single variable. This can be used for tasks like concatenating critical css and javascript files and inlining them with a substitution module, all within Nginx. All parameters accept variables in the standard format. This is implemented with a minimal memory and zero performance footprint; all the heavy lifting happens when nginx configuration loads/reloads. == Directives == Syntax: preload_files $variable $files [file1 file2 file3 ...]; Default: — Context: http, server, location Loads $files into $variable. If any $file is a URI, pull in files with wget or cURL [whatever is available on the system]. --- Syntax: preload_files_context_local $path; Default: — in http context [meaning absolute paths only], $document_root in server context, $uri in location context. Context: http, server, location The relative path/context for local preload_files [within this directive's and child contexts without overrides]. Set to "off" (without quotes) to resolve all $files as absolute paths. --- Syntax: preload_files_context_remote $url; Default: — Context: http, server, location The relative $url for remote preload_files [within this directive's and child contexts without overrides]. --- Syntax: preload_files_separator $separator; Default: "\n"; Context: http, server, location Defines the separator between preload_files [within this directive's and child contexts without overrides]. --- Syntax: preload_files_substitute $search $replace [$file]; Default: — Context: http, server, location Search and replace in $files prior to placing contents in $variable [within this directive's and child contexts]. This directive can be used multiple times for different search and replace operations. If optional third parameter $file is passed, search/replace only occurs within that file; $file must *exactly* match it's preload_files $files entry. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,261837,261837#msg-261837 From nginx-forum на nginx.us Fri Sep 25 10:34:00 2015 From: nginx-forum на nginx.us (vbresults) Date: Fri, 25 Sep 2015 06:34:00 -0400 Subject: Hiring Coder to Make xsl_stylesheet compatible with sub_filter and subs_filter Message-ID: Send a list of past modules made and a $$$ quote to develop and test this module. I will be posting it under my github account for easy access for myself and anyone else that needs it. I have a good budget and won't compromise on the functionality I've requested below. sub_filter and subs_filter [I know they are two different modules] do not have an effect on the contents of an XSL template imported with xsl_stylesheet. I want to fix the xsl_stylesheet module in 1.8.0 so that the aforementioned two directives take effect. This is implemented with a minimal memory and zero performance footprint; all the heavy lifting happens when nginx configuration loads/reloads. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,261838,261838#msg-261838 From denis на webmaster.spb.ru Fri Sep 25 10:41:44 2015 From: denis на webmaster.spb.ru (denis) Date: Fri, 25 Sep 2015 13:41:44 +0300 Subject: javascript in nginx In-Reply-To: <56042ED8.6000200@csdoc.com> References: <92E31212-949F-459B-BC2B-28E87DEF4A4A@sysoev.ru> <56030148.1080506@bestmx.net> <2482581.3xggRbhCrR@note> <560405E5.2060403@csdoc.com> <56042ED8.6000200@csdoc.com> Message-ID: <560524E8.6070109@webmaster.spb.ru> 24.09.2015 20:11, Gena Makhomed пишет: > > Средний сайт только за хостинг в год платит $1500/yr > или даже больше, так что цены там не очень большие. "средний сайт" за хостинг платит 30-50 долларов, даже если это выделенный сервер, спасибо хецнеру. И даже если аренда юнита - мы платим по 3к за юнит, по курсу 65р это что-то около 40 долларов. И увеличивать расходы в 4 раза только ради прокси... оно того не стоит, совсем. Профильных сайтов, кому нгинх реально нужен как воздух - процентов 5 в "средних сайтах", если не 1% вообще. Всякие крупные видеохостинги и проч - другая сфера. > Учитывая то, насколько Lua-модуль кривой и сложный, > - такая цена $1500/yr вполне оправдана за его поддержку. $15/y - за модуль я ещё могу понять и даже обосновать, но даже 150 оно не стоит вообще. Про кривость пожалуйста подробнее. Более того, он уже есть и бесплатен, потому что написан даже не командой нгинха, а командой китайцев из taobao. Продавать его после этого было бы свинством. Собственно, там он уже и отлажен и проверен, на действительно хайлоаде. Проблема в том, что модуль нужен, как минимум как thread-safe, быстрый, и с дополнительными плюшками вроде лёгкого парсинга post. Также с ним можно выкинуть ряд левых модулей типа всяких echo. From mva на mva.name Fri Sep 25 11:54:42 2015 From: mva на mva.name (Vadim A. Misbakh-Soloviov) Date: Fri, 25 Sep 2015 17:54:42 +0600 Subject: javascript in nginx In-Reply-To: <560524E8.6070109@webmaster.spb.ru> References: <92E31212-949F-459B-BC2B-28E87DEF4A4A@sysoev.ru> <56042ED8.6000200@csdoc.com> <560524E8.6070109@webmaster.spb.ru> Message-ID: <4807924.1Cy0vcFWv4@note> Прошу прощения, но два момента, которые мне режут глаз: > нгинх eNGINe X Как вы произносите ити свои "нгинхи" и не ломаете язык — я, вот, сколько не бьюсь, понять не могу. Буквосочетания совсем не естественные. > командой китайцев из taobao. Не сотря на то, что писаться он начинал там, сейчас у TaoBao свой форк NgX и Lua там постольку поскольку. А товарищи, которые пилят Lua-модуль (и NginX'овый бандл OpenResty) работают в CloudFlare. -- Best regards, mva ----------- следущая часть ----------- Вложение не в текстовом формате было извлечено… Имя: signature.asc Тип: application/pgp-signature Размер: 819 байтов Описание: This is a digitally signed message part. URL: From annulen на yandex.ru Fri Sep 25 13:35:37 2015 From: annulen на yandex.ru (Konstantin Tokarev) Date: Fri, 25 Sep 2015 16:35:37 +0300 Subject: Hiring Coder to Make ngx_preload_files In-Reply-To: References: Message-ID: <498121443188137@web27h.yandex.ru> 25.09.2015, 13:29, "vbresults" : > Send a list of past modules made and a $$$ quote to develop and test this > module. I will be posting it under my github account for easy access for > myself and anyone else that needs it. I have a good budget and won't > compromise on the functionality I've requested below. > > This module "ngx_preload_files" preloads one or more files on the filesystem > into a single variable. This can be used for tasks like concatenating > critical css and javascript files and inlining them with a substitution > module, all within Nginx. > > All parameters accept variables in the standard format. This is implemented > with a minimal memory and zero performance footprint; all the heavy lifting > happens when nginx configuration loads/reloads. > > == Directives == > > Syntax: preload_files $variable $files [file1 file2 file3 ...]; > Default: — > Context: http, server, location > > Loads $files into $variable. If any $file is a URI, pull in files with wget > or cURL [whatever is available on the system]. Use external program to download files? Inside HTTP reverse proxy? Sounds crazy. > > --- > > Syntax: preload_files_context_local $path; > Default: — in http context [meaning absolute paths only], $document_root in > server context, $uri in location context. > Context: http, server, location > > The relative path/context for local preload_files [within this directive's > and child contexts without overrides]. > > Set to "off" (without quotes) to resolve all $files as absolute paths. > > --- > > Syntax: preload_files_context_remote $url; > Default: — > Context: http, server, location > > The relative $url for remote preload_files [within this directive's and > child contexts without overrides]. > > --- > > Syntax: preload_files_separator $separator; > Default: "\n"; > Context: http, server, location > > Defines the separator between preload_files [within this directive's and > child contexts without overrides]. > > --- > > Syntax: preload_files_substitute $search $replace [$file]; > Default: — > Context: http, server, location > > Search and replace in $files prior to placing contents in $variable [within > this directive's and child contexts]. This directive can be used multiple > times for different search and replace operations. > > If optional third parameter $file is passed, search/replace only occurs > within that file; $file must *exactly* match it's preload_files $files > entry. > > Posted at Nginx Forum: http://forum.nginx.org/read.php?21,261837,261837#msg-261837 > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru -- Regards, Konstantin From koticka на mail.ru Fri Sep 25 13:52:46 2015 From: koticka на mail.ru (Kostya Alexandrov) Date: Fri, 25 Sep 2015 16:52:46 +0300 Subject: Hiring Coder to Make ngx_preload_files In-Reply-To: References: Message-ID: <560551AE.2060500@mail.ru> You can save funds. Such things is easy to implement using SSI+caching. On 25.09.15 13:29, vbresults wrote: > Send a list of past modules made and a $$$ quote to develop and test this > module. I will be posting it under my github account for easy access for > myself and anyone else that needs it. I have a good budget and won't > compromise on the functionality I've requested below. > > This module "ngx_preload_files" preloads one or more files on the filesystem > into a single variable. This can be used for tasks like concatenating > critical css and javascript files and inlining them with a substitution > module, all within Nginx. > > All parameters accept variables in the standard format. This is implemented > with a minimal memory and zero performance footprint; all the heavy lifting > happens when nginx configuration loads/reloads. > > == Directives == > > Syntax: preload_files $variable $files [file1 file2 file3 ...]; > Default: — > Context: http, server, location > > Loads $files into $variable. If any $file is a URI, pull in files with wget > or cURL [whatever is available on the system]. > > --- > > Syntax: preload_files_context_local $path; > Default: — in http context [meaning absolute paths only], $document_root in > server context, $uri in location context. > Context: http, server, location > > The relative path/context for local preload_files [within this directive's > and child contexts without overrides]. > > Set to "off" (without quotes) to resolve all $files as absolute paths. > > --- > > Syntax: preload_files_context_remote $url; > Default: — > Context: http, server, location > > The relative $url for remote preload_files [within this directive's and > child contexts without overrides]. > > --- > > Syntax: preload_files_separator $separator; > Default: "\n"; > Context: http, server, location > > Defines the separator between preload_files [within this directive's and > child contexts without overrides]. > > --- > > Syntax: preload_files_substitute $search $replace [$file]; > Default: — > Context: http, server, location > > Search and replace in $files prior to placing contents in $variable [within > this directive's and child contexts]. This directive can be used multiple > times for different search and replace operations. > > If optional third parameter $file is passed, search/replace only occurs > within that file; $file must *exactly* match it's preload_files $files > entry. > > Posted at Nginx Forum: http://forum.nginx.org/read.php?21,261837,261837#msg-261837 > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru From simplebox66 на gmail.com Fri Sep 25 14:21:01 2015 From: simplebox66 на gmail.com (=?UTF-8?B?0JjQstCw0L0g0JzQuNGI0LjQvQ==?=) Date: Fri, 25 Sep 2015 17:21:01 +0300 Subject: =?UTF-8?B?0L3QtdCw0LTQtdC60LLQsNGC0L3QsNGPINGA0LDQsdC+0YLQsCDQutC10YjQsA==?= Message-ID: Кеш заведен на 20 минут при этом иногда бывает что кеш как-бы не срабатывает. Ключи кеша proxy_cache_key $server_name$request_uri Вот пример из логов адекватной работы: www.site.ru x.x.x.x - [23/Jul/2015:11:02:32 +0300] "GET /a/b HTTP/1.1" 4.200 " NGINX-CACHE-EXPIRED www.site.ru x.x.x.x - [23/Jul/2015:11:02:44 +0300] "GET /a/b HTTP/1.1" 0.000 " NGINX-CACHE-HIT www.site.ru x.x.x.x - [23/Jul/2015:13:11:02 +0300] "GET /a/b HTTP/1.1" 4.200 " NGINX-CACHE-EXPIRED www.site.ru x.x.x.x - [23/Jul/2015:13:11:02 +0300] "GET /a/b HTTP/1.1" 0.000 " NGINX-CACHE-HIT www.site.ru x.x.x.x - [23/Jul/2015:15:15:14 +0300] "GET /a/b HTTP/1.1" 4.100 " NGINX-CACHE-EXPIRED www.site.ru x.x.x.x - [23/Jul/2015:15:15:15 +0300] "GET /a/b HTTP/1.1" 0.000 " NGINX-CACHE-HIT А вот пример неадекватной работы: www.site.ru x.x.x.x - [23/Jul/2015:11:15:41 +0300] "GET /a/b HTTP/1.1" 4.000 " NGINX-CACHE-EXPIRED www.site.ru x.x.x.x - [23/Jul/2015:11:15:46 +0300] "GET /a/b HTTP/1.1" 4.200 " NGINX-CACHE-EXPIRED www.site.ru x.x.x.x - [23/Jul/2015:12:57:34 +0300] "GET /a/b HTTP/1.1" 3.500 " NGINX-CACHE-EXPIRED www.site.ru x.x.x.x - [23/Jul/2015:12:57:38 +0300] "GET /a/b HTTP/1.1" 4.100 " NGINX-CACHE-EXPIRED www.site.ru x.x.x.x - [23/Jul/2015:17:42:33 +0300] "GET /a/b HTTP/1.1" 3.600 " NGINX-CACHE-EXPIRED www.site.ru x.x.x.x - [23/Jul/2015:17:42:38 +0300] "GET /a/b HTTP/1.1" 4.100 " NGINX-CACHE-EXPIRED Куда копать? ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From sytar.alex на gmail.com Fri Sep 25 15:54:27 2015 From: sytar.alex на gmail.com (Aleksandr Sytar) Date: Fri, 25 Sep 2015 18:54:27 +0300 Subject: =?UTF-8?B?UmU6INC90LXQsNC00LXQutCy0LDRgtC90LDRjyDRgNCw0LHQvtGC0LAg0LrQtdGI?= =?UTF-8?B?0LA=?= In-Reply-To: References: Message-ID: 25 сентября 2015 г., 17:21 пользователь Иван Мишин написал: > Кеш заведен на 20 минут при этом иногда бывает что кеш как-бы не > срабатывает. > Ключи кеша proxy_cache_key $server_name$request_uri > Вот пример из логов адекватной работы: > > www.site.ru x.x.x.x - [23/Jul/2015:11:02:32 +0300] "GET /a/b HTTP/1.1" > 4.200 " NGINX-CACHE-EXPIRED > www.site.ru x.x.x.x - [23/Jul/2015:11:02:44 +0300] "GET /a/b HTTP/1.1" > 0.000 " NGINX-CACHE-HIT > > www.site.ru x.x.x.x - [23/Jul/2015:13:11:02 +0300] "GET /a/b HTTP/1.1" > 4.200 " NGINX-CACHE-EXPIRED > www.site.ru x.x.x.x - [23/Jul/2015:13:11:02 +0300] "GET /a/b HTTP/1.1" > 0.000 " NGINX-CACHE-HIT > > www.site.ru x.x.x.x - [23/Jul/2015:15:15:14 +0300] "GET /a/b HTTP/1.1" > 4.100 " NGINX-CACHE-EXPIRED > www.site.ru x.x.x.x - [23/Jul/2015:15:15:15 +0300] "GET /a/b HTTP/1.1" > 0.000 " NGINX-CACHE-HIT > > > А вот пример неадекватной работы: > > www.site.ru x.x.x.x - [23/Jul/2015:11:15:41 +0300] "GET /a/b HTTP/1.1" > 4.000 " NGINX-CACHE-EXPIRED > www.site.ru x.x.x.x - [23/Jul/2015:11:15:46 +0300] "GET /a/b HTTP/1.1" > 4.200 " NGINX-CACHE-EXPIRED > > www.site.ru x.x.x.x - [23/Jul/2015:12:57:34 +0300] "GET /a/b HTTP/1.1" > 3.500 " NGINX-CACHE-EXPIRED > www.site.ru x.x.x.x - [23/Jul/2015:12:57:38 +0300] "GET /a/b HTTP/1.1" > 4.100 " NGINX-CACHE-EXPIRED > > www.site.ru x.x.x.x - [23/Jul/2015:17:42:33 +0300] "GET /a/b HTTP/1.1" > 3.600 " NGINX-CACHE-EXPIRED > www.site.ru x.x.x.x - [23/Jul/2015:17:42:38 +0300] "GET /a/b HTTP/1.1" > 4.100 " NGINX-CACHE-EXPIRED > > > > Куда копать? > Добавить логгирование времени ответа бекенеда и понять успевает ли он ответить за 5 секунд ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From simplebox66 на gmail.com Fri Sep 25 16:04:36 2015 From: simplebox66 на gmail.com (=?UTF-8?B?0JjQstCw0L0g0JzQuNGI0LjQvQ==?=) Date: Fri, 25 Sep 2015 19:04:36 +0300 Subject: =?UTF-8?B?UmU6INC90LXQsNC00LXQutCy0LDRgtC90LDRjyDRgNCw0LHQvtGC0LAg0LrQtdGI?= =?UTF-8?B?0LA=?= In-Reply-To: References: Message-ID: 4.200 3.500 и т.д. это и есть время ответа от бека. и например вот тут www.site.ru x.x.x.x - [23/Jul/2015:15:15:14 +0300] "GET /a/b HTTP/1.1" 4.100 " NGINX-CACHE-EXPIRED www.site.ru x.x.x.x - [23/Jul/2015:15:15:15 +0300] "GET /a/b HTTP/1.1" 0.000 " NGINX-CACHE-HIT бек обрабатывал 4.100 как видно но следующий запрос уже через 1 сек получил HIT не смотря на то что по идеи первый запрос еще в кеш не попал 25 сентября 2015 г., 18:54 пользователь Aleksandr Sytar < sytar.alex на gmail.com> написал: > > > 25 сентября 2015 г., 17:21 пользователь Иван Мишин > написал: > > Кеш заведен на 20 минут при этом иногда бывает что кеш как-бы не >> срабатывает. >> Ключи кеша proxy_cache_key $server_name$request_uri >> Вот пример из логов адекватной работы: >> >> www.site.ru x.x.x.x - [23/Jul/2015:11:02:32 +0300] "GET /a/b HTTP/1.1" >> 4.200 " NGINX-CACHE-EXPIRED >> www.site.ru x.x.x.x - [23/Jul/2015:11:02:44 +0300] "GET /a/b HTTP/1.1" >> 0.000 " NGINX-CACHE-HIT >> >> www.site.ru x.x.x.x - [23/Jul/2015:13:11:02 +0300] "GET /a/b HTTP/1.1" >> 4.200 " NGINX-CACHE-EXPIRED >> www.site.ru x.x.x.x - [23/Jul/2015:13:11:02 +0300] "GET /a/b HTTP/1.1" >> 0.000 " NGINX-CACHE-HIT >> >> www.site.ru x.x.x.x - [23/Jul/2015:15:15:14 +0300] "GET /a/b HTTP/1.1" >> 4.100 " NGINX-CACHE-EXPIRED >> www.site.ru x.x.x.x - [23/Jul/2015:15:15:15 +0300] "GET /a/b HTTP/1.1" >> 0.000 " NGINX-CACHE-HIT >> >> >> А вот пример неадекватной работы: >> >> www.site.ru x.x.x.x - [23/Jul/2015:11:15:41 +0300] "GET /a/b HTTP/1.1" >> 4.000 " NGINX-CACHE-EXPIRED >> www.site.ru x.x.x.x - [23/Jul/2015:11:15:46 +0300] "GET /a/b HTTP/1.1" >> 4.200 " NGINX-CACHE-EXPIRED >> >> www.site.ru x.x.x.x - [23/Jul/2015:12:57:34 +0300] "GET /a/b HTTP/1.1" >> 3.500 " NGINX-CACHE-EXPIRED >> www.site.ru x.x.x.x - [23/Jul/2015:12:57:38 +0300] "GET /a/b HTTP/1.1" >> 4.100 " NGINX-CACHE-EXPIRED >> >> www.site.ru x.x.x.x - [23/Jul/2015:17:42:33 +0300] "GET /a/b HTTP/1.1" >> 3.600 " NGINX-CACHE-EXPIRED >> www.site.ru x.x.x.x - [23/Jul/2015:17:42:38 +0300] "GET /a/b HTTP/1.1" >> 4.100 " NGINX-CACHE-EXPIRED >> >> >> >> Куда копать? >> > > Добавить логгирование времени ответа бекенеда и понять успевает ли он > ответить за 5 секунд > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru > ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From simplebox66 на gmail.com Fri Sep 25 16:09:53 2015 From: simplebox66 на gmail.com (=?UTF-8?B?0JjQstCw0L0g0JzQuNGI0LjQvQ==?=) Date: Fri, 25 Sep 2015 19:09:53 +0300 Subject: =?UTF-8?B?UmU6INC90LXQsNC00LXQutCy0LDRgtC90LDRjyDRgNCw0LHQvtGC0LAg0LrQtdGI?= =?UTF-8?B?0LA=?= In-Reply-To: References: Message-ID: а вот тут вообще все происходит в ту же секунду и первый экспайред а второй хит www.site.ru x.x.x.x - [23/Jul/2015:13:11:02 +0300] "GET /a/b HTTP/1.1" 4.200 " NGINX-CACHE-EXPIRED www.site.ru x.x.x.x - [23/Jul/2015:13:11:02 +0300] "GET /a/b HTTP/1.1" 0.000 " NGINX-CACHE-HIT 25 сентября 2015 г., 19:04 пользователь Иван Мишин написал: > 4.200 3.500 и т.д. это и есть время ответа от бека. > > и например вот тут > www.site.ru x.x.x.x - [23/Jul/2015:15:15:14 +0300] "GET /a/b HTTP/1.1" > 4.100 " NGINX-CACHE-EXPIRED > www.site.ru x.x.x.x - [23/Jul/2015:15:15:15 +0300] "GET /a/b HTTP/1.1" > 0.000 " NGINX-CACHE-HIT > > бек обрабатывал 4.100 как видно но следующий запрос уже через 1 сек > получил HIT не смотря на то что по идеи первый запрос еще в кеш не попал > > 25 сентября 2015 г., 18:54 пользователь Aleksandr Sytar < > sytar.alex на gmail.com> написал: > >> >> >> 25 сентября 2015 г., 17:21 пользователь Иван Мишин > > написал: >> >> Кеш заведен на 20 минут при этом иногда бывает что кеш как-бы не >>> срабатывает. >>> Ключи кеша proxy_cache_key $server_name$request_uri >>> Вот пример из логов адекватной работы: >>> >>> www.site.ru x.x.x.x - [23/Jul/2015:11:02:32 +0300] "GET /a/b HTTP/1.1" >>> 4.200 " NGINX-CACHE-EXPIRED >>> www.site.ru x.x.x.x - [23/Jul/2015:11:02:44 +0300] "GET /a/b HTTP/1.1" >>> 0.000 " NGINX-CACHE-HIT >>> >>> www.site.ru x.x.x.x - [23/Jul/2015:13:11:02 +0300] "GET /a/b HTTP/1.1" >>> 4.200 " NGINX-CACHE-EXPIRED >>> www.site.ru x.x.x.x - [23/Jul/2015:13:11:02 +0300] "GET /a/b HTTP/1.1" >>> 0.000 " NGINX-CACHE-HIT >>> >>> www.site.ru x.x.x.x - [23/Jul/2015:15:15:14 +0300] "GET /a/b HTTP/1.1" >>> 4.100 " NGINX-CACHE-EXPIRED >>> www.site.ru x.x.x.x - [23/Jul/2015:15:15:15 +0300] "GET /a/b HTTP/1.1" >>> 0.000 " NGINX-CACHE-HIT >>> >>> >>> А вот пример неадекватной работы: >>> >>> www.site.ru x.x.x.x - [23/Jul/2015:11:15:41 +0300] "GET /a/b HTTP/1.1" >>> 4.000 " NGINX-CACHE-EXPIRED >>> www.site.ru x.x.x.x - [23/Jul/2015:11:15:46 +0300] "GET /a/b HTTP/1.1" >>> 4.200 " NGINX-CACHE-EXPIRED >>> >>> www.site.ru x.x.x.x - [23/Jul/2015:12:57:34 +0300] "GET /a/b HTTP/1.1" >>> 3.500 " NGINX-CACHE-EXPIRED >>> www.site.ru x.x.x.x - [23/Jul/2015:12:57:38 +0300] "GET /a/b HTTP/1.1" >>> 4.100 " NGINX-CACHE-EXPIRED >>> >>> www.site.ru x.x.x.x - [23/Jul/2015:17:42:33 +0300] "GET /a/b HTTP/1.1" >>> 3.600 " NGINX-CACHE-EXPIRED >>> www.site.ru x.x.x.x - [23/Jul/2015:17:42:38 +0300] "GET /a/b HTTP/1.1" >>> 4.100 " NGINX-CACHE-EXPIRED >>> >>> >>> >>> Куда копать? >>> >> >> Добавить логгирование времени ответа бекенеда и понять успевает ли он >> ответить за 5 секунд >> >> _______________________________________________ >> nginx-ru mailing list >> nginx-ru на nginx.org >> http://mailman.nginx.org/mailman/listinfo/nginx-ru >> > > ----------- следущая часть ----------- Вложение в формате HTML было извлечено… URL: From petrov.boris.v на mail.ru Fri Sep 25 16:43:53 2015 From: petrov.boris.v на mail.ru (petrov.boris.v на mail.ru) Date: Fri, 25 Sep 2015 19:43:53 +0300 Subject: =?UTF-8?B?0JLRi9C30LLQsNGC0Ywg0L/RgNC+0LPRgNCw0LzQvNGD?= Message-ID: <560579C9.4080702@mail.ru> Здраствуйте. Может ли nginx по послуплению запроса сначала запустить в системе скрипт и дождаться его завершения, после чего отдать клиенту статический файл с диска обычным образом? (т.е. как cgi, но вместо cgi ответа использовать файл на диске в root) Сейчас запрос отправляется на fastcgi php, который пускает скрипт, и отправляет header('X-Accel-Redirect...'), но это решение не самое удобное. From mva на mva.name Fri Sep 25 17:09:26 2015 From: mva на mva.name (Vadim A. Misbakh-Soloviov) Date: Fri, 25 Sep 2015 23:09:26 +0600 Subject: =?UTF-8?B?UmU6INCS0YvQt9Cy0LDRgtGMINC/0YDQvtCz0YDQsNC80LzRgw==?= In-Reply-To: <560579C9.4080702@mail.ru> References: <560579C9.4080702@mail.ru> Message-ID: <2350252.ALQAZKBKR7@note> Lua-модуль или встроенный perl-модуль — ваши друзья :) -- Best regards, mva ----------- следущая часть ----------- Вложение не в текстовом формате было извлечено… Имя: signature.asc Тип: application/pgp-signature Размер: 819 байтов Описание: This is a digitally signed message part. URL: From nginx-forum на nginx.us Fri Sep 25 17:19:51 2015 From: nginx-forum на nginx.us (vbresults) Date: Fri, 25 Sep 2015 13:19:51 -0400 Subject: Hiring Coder to Make ngx_preload_files In-Reply-To: References: Message-ID: <9f7264f0a8b160aa37de85370cfc353f.NginxMailingListRussian@forum.nginx.org> No thanks. I am already accomplishing this with ugly hacks, I don't want SSI. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,261837,261851#msg-261851 From petrov.boris.v на mail.ru Fri Sep 25 17:26:36 2015 From: petrov.boris.v на mail.ru (petrov.boris.v на mail.ru) Date: Fri, 25 Sep 2015 20:26:36 +0300 Subject: =?UTF-8?B?UmU6INCS0YvQt9Cy0LDRgtGMINC/0YDQvtCz0YDQsNC80LzRgw==?= In-Reply-To: <2350252.ALQAZKBKR7@note> References: <560579C9.4080702@mail.ru> <2350252.ALQAZKBKR7@note> Message-ID: <560583CC.7000308@mail.ru> On 09/25/2015 08:09 PM, Vadim A. Misbakh-Soloviov wrote: > Lua-модуль или встроенный perl-модуль — ваши друзья :) Спасибо. From andrey на kopeyko.ru Fri Sep 25 18:19:44 2015 From: andrey на kopeyko.ru (Andrey Kopeyko) Date: Fri, 25 Sep 2015 21:19:44 +0300 (MSK) Subject: =?UTF-8?B?UmU6INC90LXQsNC00LXQutCy0LDRgtC90LDRjyDRgNCw0LHQvtGC0LAg0LrQtdGI?= =?UTF-8?B?0LA=?= In-Reply-To: References: Message-ID: On Fri, 25 Sep 2015, Иван Мишин wrote: Добрый вечер, Иван! > 4.200 3.500 и т.д. это и есть время ответа от бека. > > и например вот тут > www.site.ru x.x.x.x - [23/Jul/2015:15:15:14 +0300] "GET /a/b HTTP/1.1" > 4.100 " NGINX-CACHE-EXPIRED > www.site.ru x.x.x.x - [23/Jul/2015:15:15:15 +0300] "GET /a/b HTTP/1.1" > 0.000 " NGINX-CACHE-HIT > > бек обрабатывал 4.100 как видно но следующий запрос уже через 1 сек получил > HIT не смотря на то что по идеи первый запрос еще в кеш не попал Никакой неадекватности в работе кеша нет - вы просто не учитываете (или позабыли) тот факт, что время в лог пишется ровно в момент логирования - т.е. _по_окончании_ запроса. Такое поведение nginx унаследовал от Apache. В документации этот момент отражён, но вскользь - только при описании переменной "$msec" http://nginx.org/ru/docs/http/ngx_http_log_module.html#log_format Поэтому ваши логи показывают, что всё происходит ровно как вами и было задумано: - запрос пришёл в ~ 15:15:09.900 - бэкенд обработал его за 4.100 сек и в 15:15:14 была создана запись в логе - следующий запрос пришёл в 15:15:15 и был отдан из кеша. P.S. Наверное, стОит расширить\дополнить описание модуля ngx_http_log, и ещё раз явно указать момент логирования при описании переменных - $time_iso8601 - $time_local Хуже, по крайней мере, точно не будет. > 25 сентября 2015 г., 18:54 пользователь Aleksandr Sytar < > sytar.alex на gmail.com> написал: > >> >> >> 25 сентября 2015 г., 17:21 пользователь Иван Мишин >> написал: >> >> Кеш заведен на 20 минут при этом иногда бывает что кеш как-бы не >>> срабатывает. >>> Ключи кеша proxy_cache_key $server_name$request_uri >>> Вот пример из логов адекватной работы: >>> >>> www.site.ru x.x.x.x - [23/Jul/2015:11:02:32 +0300] "GET /a/b HTTP/1.1" >>> 4.200 " NGINX-CACHE-EXPIRED >>> www.site.ru x.x.x.x - [23/Jul/2015:11:02:44 +0300] "GET /a/b HTTP/1.1" >>> 0.000 " NGINX-CACHE-HIT >>> >>> www.site.ru x.x.x.x - [23/Jul/2015:13:11:02 +0300] "GET /a/b HTTP/1.1" >>> 4.200 " NGINX-CACHE-EXPIRED >>> www.site.ru x.x.x.x - [23/Jul/2015:13:11:02 +0300] "GET /a/b HTTP/1.1" >>> 0.000 " NGINX-CACHE-HIT >>> >>> www.site.ru x.x.x.x - [23/Jul/2015:15:15:14 +0300] "GET /a/b HTTP/1.1" >>> 4.100 " NGINX-CACHE-EXPIRED >>> www.site.ru x.x.x.x - [23/Jul/2015:15:15:15 +0300] "GET /a/b HTTP/1.1" >>> 0.000 " NGINX-CACHE-HIT >>> >>> >>> А вот пример неадекватной работы: >>> >>> www.site.ru x.x.x.x - [23/Jul/2015:11:15:41 +0300] "GET /a/b HTTP/1.1" >>> 4.000 " NGINX-CACHE-EXPIRED >>> www.site.ru x.x.x.x - [23/Jul/2015:11:15:46 +0300] "GET /a/b HTTP/1.1" >>> 4.200 " NGINX-CACHE-EXPIRED >>> >>> www.site.ru x.x.x.x - [23/Jul/2015:12:57:34 +0300] "GET /a/b HTTP/1.1" >>> 3.500 " NGINX-CACHE-EXPIRED >>> www.site.ru x.x.x.x - [23/Jul/2015:12:57:38 +0300] "GET /a/b HTTP/1.1" >>> 4.100 " NGINX-CACHE-EXPIRED >>> >>> www.site.ru x.x.x.x - [23/Jul/2015:17:42:33 +0300] "GET /a/b HTTP/1.1" >>> 3.600 " NGINX-CACHE-EXPIRED >>> www.site.ru x.x.x.x - [23/Jul/2015:17:42:38 +0300] "GET /a/b HTTP/1.1" >>> 4.100 " NGINX-CACHE-EXPIRED >>> >>> >>> >>> Куда копать? >>> >> >> Добавить логгирование времени ответа бекенеда и понять успевает ли он >> ответить за 5 секунд >> >> _______________________________________________ >> nginx-ru mailing list >> nginx-ru на nginx.org >> http://mailman.nginx.org/mailman/listinfo/nginx-ru >> > -- Best regards, Andrey Kopeyko From andrey на kopeyko.ru Fri Sep 25 18:30:24 2015 From: andrey на kopeyko.ru (Andrey Kopeyko) Date: Fri, 25 Sep 2015 21:30:24 +0300 (MSK) Subject: Hiring Coder to Make ngx_preload_files In-Reply-To: References: Message-ID: On Fri, 25 Sep 2015, vbresults wrote: > Send a list of past modules made and a $$$ quote to develop and test this > module. I will be posting it under my github account for easy access for > myself and anyone else that needs it. I have a good budget and won't > compromise on the functionality I've requested below. > > This module "ngx_preload_files" preloads one or more files on the filesystem > into a single variable. This can be used for tasks like concatenating > critical css and javascript files and inlining them with a substitution > module, all within Nginx. Good day, vbresults! This functionality seems to be already developed by Google. Please take a look on pagespeed module https://developers.google.com/speed/pagespeed/module/config_filters and study it's documentation on following directives - combine_css - combine_javascript - inline_css - inline_javascript -- Best regards, Andrey Kopeyko From nginx-forum на nginx.us Sat Sep 26 20:05:30 2015 From: nginx-forum на nginx.us (ShivaS) Date: Sat, 26 Sep 2015 16:05:30 -0400 Subject: =?UTF-8?B?0JfQsNC/0YDQvtGBINC90LAg0L3QtdGB0LrQvtC70YzQutC+INCx0LXQutC10L0=?= =?UTF-8?B?0LTQvtCyINC/0LXRgNC10LQg0L7RgtCy0LXRgtC+0Lwg0LrQu9C40LXQvdGC?= =?UTF-8?B?0YM=?= Message-ID: <7648fc1180a6b4e95997f8dbe1e05adb.NginxMailingListRussian@forum.nginx.org> Добрый вечер, All Появилась задача, в которой сначала нужно запроксировать на один бекенд, потом пришедший ответ (от прокси) постом послать на 2й, а уж потом послать ответ клиенту. т.е. 2 proxy_pass. В общем не нашел и не придумал ничего, а очень хочется ;-) Возможно ли такое с nginx? Спасибо! Posted at Nginx Forum: http://forum.nginx.org/read.php?21,261860,261860#msg-261860 From mva на mva.name Sat Sep 26 20:13:37 2015 From: mva на mva.name (Vadim A. Misbakh-Soloviov) Date: Sun, 27 Sep 2015 02:13:37 +0600 Subject: =?UTF-8?B?UmU6INCX0LDQv9GA0L7RgSDQvdCwINC90LXRgdC60L7Qu9GM0LrQviDQsdC10Lo=?= =?UTF-8?B?0LXQvdC00L7QsiDQv9C10YDQtdC0INC+0YLQstC10YLQvtC8INC60LvQuNC1?= =?UTF-8?B?0L3RgtGD?= In-Reply-To: <7648fc1180a6b4e95997f8dbe1e05adb.NginxMailingListRussian@forum.nginx.org> References: <7648fc1180a6b4e95997f8dbe1e05adb.NginxMailingListRussian@forum.nginx.org> Message-ID: <2624454.h6TZCKEQJZ@note> > Возможно ли такое с nginx? C Lua-модулем точно возможно. Скорее всего и с perl'ом тоже, но оным я не пользовался и гарантировать не могу. -- Best regards, mva ----------- следущая часть ----------- Вложение не в текстовом формате было извлечено… Имя: signature.asc Тип: application/pgp-signature Размер: 819 байтов Описание: This is a digitally signed message part. URL: From nginx-forum на nginx.us Sat Sep 26 20:25:48 2015 From: nginx-forum на nginx.us (ShivaS) Date: Sat, 26 Sep 2015 16:25:48 -0400 Subject: =?UTF-8?B?UmU6INCX0LDQv9GA0L7RgSDQvdCwINC90LXRgdC60L7Qu9GM0LrQviDQsdC10Lo=?= =?UTF-8?B?0LXQvdC00L7QsiDQv9C10YDQtdC0INC+0YLQstC10YLQvtC8INC60LvQuNC1?= =?UTF-8?B?0L3RgtGD?= In-Reply-To: <2624454.h6TZCKEQJZ@note> References: <2624454.h6TZCKEQJZ@note> Message-ID: <7affbcb7219b6b9db43f46cb5aeca489.NginxMailingListRussian@forum.nginx.org> Спасибо! я тоже вот на lua смотреть начал ведь $response_body нет в nginx т.е. даже в post_action не попробовать ничего такого. Спасибо, буду глядеть в lua еще глубже ;-) Posted at Nginx Forum: http://forum.nginx.org/read.php?21,261860,261862#msg-261862 From nginx-forum на nginx.us Mon Sep 28 08:58:27 2015 From: nginx-forum на nginx.us (borro) Date: Mon, 28 Sep 2015 04:58:27 -0400 Subject: =?UTF-8?B?0KfQtdC8INC30LDQtNCw0ZHRgtGB0Y8g0YDQsNC30LzQtdGAINGE0LDQudC70LAs?= =?UTF-8?B?INC/0L7RgdC70LUg0LrQvtGC0L7RgNC+0LPQviDQvtC9INC00L7Qu9C20LU=?= =?UTF-8?B?0L0g0LrRjdGI0LjRgNC+0LLQsNGC0YzRgdGPPw==?= Message-ID: Здравствуйте! Знакомлюсь с NGINX. Скажите есть ли какие-то директивы в nginx.conf, которые задают предельный размер файла, начиная с которого подгружаемая на сайт картинка должна копироваться в папку кэша? Posted at Nginx Forum: http://forum.nginx.org/read.php?21,261878,261878#msg-261878 From vbart на nginx.com Mon Sep 28 11:16:09 2015 From: vbart на nginx.com (=?utf-8?B?0JLQsNC70LXQvdGC0LjQvSDQkdCw0YDRgtC10L3QtdCy?=) Date: Mon, 28 Sep 2015 14:16:09 +0300 Subject: =?UTF-8?B?UmU6IHNwZHkg0LHQvtC70YzRiNC+0LkgdHRmYg==?= In-Reply-To: References: Message-ID: <30074914.CJrgRJxo60@vbart-workstation> On Wednesday 23 September 2015 12:24:14 Maxim Valeev wrote: > Добрый день! > > Не могу понять чем обусловлен такой большой Waiting (TTFB), если обращаться > напрямую, то отдается все махом. > > Скрин с загрузкой > https://drive.google.com/open?id=0B0qFuYdYWHE1YzkwYm5mWlEybFk > > > nginx version: nginx/1.8.0 > built by gcc 4.8.2 (Ubuntu 4.8.2-19ubuntu1) > built with OpenSSL 1.0.1f 6 Jan 2014 > TLS SNI support enabled > configure arguments: > --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 > --pid-path=/var/run/nginx.pid > --lock-path=/var/run/nginx.lock > --http-client-body-temp-path=/var/cache/nginx/client_temp > --http-proxy-temp-path=/var/cache/nginx/proxy_temp > --http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp > --http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp > --http-scgi-temp-path=/var/cache/nginx/scgi_temp > --user=nginx > --group=nginx > --with-debug > --with-pcre-jit > --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_mp4_module > --with-http_gunzip_module > --with-http_gzip_static_module > --with-http_random_index_module > --with-http_secure_link_module > --with-http_stub_status_module > --with-http_auth_request_module > --with-http_spdy_module > --with-http_geoip_module > --with-http_image_filter_module > --with-http_xslt_module > --with-file-aio > --with-mail > --with-mail_ssl_module > --add-module=/build/nginx-modules/ngx_devel_kit > --add-module=/build/nginx-modules/lua-nginx-module > --add-module=/build/nginx-modules/headers-more-nginx-module > --with-cc-opt='-g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat > -Werror=format-security -D_FORTIFY_SOURCE=2' > --with-ld-opt='-Wl,-Bsymbolic-functions -Wl,-z,relro' Имеет смысл попробовать без сторонних модулей и снять дебаг-лог. -- Валентин Бартенев From vbart на nginx.com Mon Sep 28 15:20:05 2015 From: vbart на nginx.com (=?utf-8?B?0JLQsNC70LXQvdGC0LjQvSDQkdCw0YDRgtC10L3QtdCy?=) Date: Mon, 28 Sep 2015 18:20:05 +0300 Subject: javascript in nginx In-Reply-To: <560524E8.6070109@webmaster.spb.ru> References: <92E31212-949F-459B-BC2B-28E87DEF4A4A@sysoev.ru> <56042ED8.6000200@csdoc.com> <560524E8.6070109@webmaster.spb.ru> Message-ID: <1634290.TOSEjMHVqZ@vbart-workstation> On Friday 25 September 2015 13:41:44 denis wrote: > 24.09.2015 20:11, Gena Makhomed пишет: > > > > Средний сайт только за хостинг в год платит $1500/yr > > или даже больше, так что цены там не очень большие. > "средний сайт" за хостинг платит 30-50 долларов, даже если это > выделенный сервер, спасибо хецнеру. И даже если аренда юнита - мы платим > по 3к за юнит, по курсу 65р это что-то около 40 долларов. И увеличивать > расходы в 4 раза только ради прокси... оно того не стоит, совсем. > Профильных сайтов, кому нгинх реально нужен как воздух - процентов 5 в > "средних сайтах", если не 1% вообще. Всякие крупные видеохостинги и проч > - другая сфера. > > > Учитывая то, насколько Lua-модуль кривой и сложный, > > - такая цена $1500/yr вполне оправдана за его поддержку. > $15/y - за модуль я ещё могу понять и даже обосновать, но даже 150 оно > не стоит вообще. > > Про кривость пожалуйста подробнее. [..] Факт: объем кода только одного лишь Lua-модуля составляет четвертую часть NGINX со всеми 60+ модулями, включая mail и stream. Количество хаков там таково, что различные части модуля ломаются чуть ли не каждый новый релиз. Вот недавно модуль в очередной раз сломался от замены SPDY на HTTP/2, ибо содержит соответствующие вставки. И 46 (!) новых директив - это совсем не то, что хочется видеть в качестве легкого и понятного интерфейса. > Более того, он уже есть и бесплатен, потому что написан даже не командой > нгинха, а командой китайцев из taobao. Продавать его после этого было бы > свинством. Собственно, там он уже и отлажен и проверен, на действительно > хайлоаде. [..] http://www.youtube.com/watch?v=mjq1YDaPxt8 -- Валентин Бартенев From vbart на nginx.com Mon Sep 28 15:25:42 2015 From: vbart на nginx.com (=?utf-8?B?0JLQsNC70LXQvdGC0LjQvSDQkdCw0YDRgtC10L3QtdCy?=) Date: Mon, 28 Sep 2015 18:25:42 +0300 Subject: javascript in nginx In-Reply-To: <987732192.20150924000746@softsearch.ru> References: <92E31212-949F-459B-BC2B-28E87DEF4A4A@sysoev.ru> <987732192.20150924000746@softsearch.ru> Message-ID: <1687579.bDTiXCeWu7@vbart-workstation> On Thursday 24 September 2015 00:07:46 Михаил Монашёв wrote: > Здравствуйте, Igor. > > А как текущая иерархия у $r (ответ - это объект запроса) будет > работать с HTTP v2? Если я правильно понимаю, то в HTTP v2 есть не > только запрос и ответ. Возможна и посылка данных, которые никак не > связаны с запросом, а привязаны к соединению. [..] Нету там такого. Даже пресловутый server push, есть ни что иное, как порождение новых запросов на стороне сервера в результате какого-то клиентского запроса. -- Валентин Бартенев From vbart на nginx.com Mon Sep 28 21:44:17 2015 From: vbart на nginx.com (=?utf-8?B?0JLQsNC70LXQvdGC0LjQvSDQkdCw0YDRgtC10L3QtdCy?=) Date: Tue, 29 Sep 2015 00:44:17 +0300 Subject: =?UTF-8?B?UmU6INCn0LXQvCDQt9Cw0LTQsNGR0YLRgdGPINGA0LDQt9C80LXRgCDRhNCw0Lk=?= =?UTF-8?B?0LvQsCwg0L/QvtGB0LvQtSDQutC+0YLQvtGA0L7Qs9C+INC+0L0g0LTQvtC7?= =?UTF-8?B?0LbQtdC9INC60Y3RiNC40YDQvtCy0LDRgtGM0YHRjz8=?= In-Reply-To: References: Message-ID: <3055592.bknzYtTEKL@vbart-laptop> On Monday 28 September 2015 04:58:27 borro wrote: > Здравствуйте! > > Знакомлюсь с NGINX. > Скажите есть ли какие-то директивы в nginx.conf, которые задают предельный > размер файла, начиная с которого подгружаемая на сайт картинка должна > копироваться в папку кэша? > Нет. -- Валентин Бартенев From nginx-forum на nginx.us Tue Sep 29 09:14:42 2015 From: nginx-forum на nginx.us (OZzzy) Date: Tue, 29 Sep 2015 05:14:42 -0400 Subject: =?UTF-8?B?UmU6INCg0LXQtNC40YDQtdC60YIg0L3QsCDQstGL0LHRgNCw0L3QvdGL0Lkg0L8=?= =?UTF-8?B?0L7RgNGC?= In-Reply-To: References: Message-ID: <1c59fbce307b49cc1d7126b1616789f2.NginxMailingListRussian@forum.nginx.org> Прошло 2 года , а я наступаю на те же грабли. не могу никак сделать редирект с порта 8080 на порт 44410 тот же конфиг что и был: server { listen 95.65.37.90:44410; location ~ /\.(ht|svn|cvs|hg|txt|log|class|cgi|xml|conf|config|properties|jar) { deny all; } location /iweb/ { proxy_pass http://localhost:8080; proxy_redirect http://localhost:8080/ http://95.65.37.90:44410/; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Real-IP $remote_addr; access_log /var/log/iweb/admin_access.log; error_log /var/log/iweb/admin_error.log notice; deny all; } } получаю ошибку 403 nginx Posted at Nginx Forum: http://forum.nginx.org/read.php?21,234597,261914#msg-261914 From nginx-forum на nginx.us Tue Sep 29 09:58:05 2015 From: nginx-forum на nginx.us (OZzzy) Date: Tue, 29 Sep 2015 05:58:05 -0400 Subject: =?UTF-8?B?UmU6INCg0LXQtNC40YDQtdC60YIg0L3QsCDQstGL0LHRgNCw0L3QvdGL0Lkg0L8=?= =?UTF-8?B?0L7RgNGC?= In-Reply-To: <1c59fbce307b49cc1d7126b1616789f2.NginxMailingListRussian@forum.nginx.org> References: <1c59fbce307b49cc1d7126b1616789f2.NginxMailingListRussian@forum.nginx.org> Message-ID: забыла написать , что теперь конфигурация вэб сервера: > Nginx, PHP5 , MySQL+Apache Posted at Nginx Forum: http://forum.nginx.org/read.php?21,234597,261917#msg-261917 From ek на nginx.com Tue Sep 29 12:44:09 2015 From: ek на nginx.com (Ekaterina Kukushkina) Date: Tue, 29 Sep 2015 15:44:09 +0300 Subject: =?UTF-8?B?UmU6INCg0LXQtNC40YDQtdC60YIg0L3QsCDQstGL0LHRgNCw0L3QvdGL0Lkg0L8=?= =?UTF-8?B?0L7RgNGC?= In-Reply-To: <1c59fbce307b49cc1d7126b1616789f2.NginxMailingListRussian@forum.nginx.org> References: <1c59fbce307b49cc1d7126b1616789f2.NginxMailingListRussian@forum.nginx.org> Message-ID: <415AA7FD-3372-473E-90D7-00BEF453DB67@nginx.com> Привет! У вас в конфигурации четко сказано: location /iweb/ { ... deny all; } Никаких разрешающих правил я не вижу. При таком раскладе у nginx'а нет выбора и он обязан отдавать 403. Предположу что раньше были allow записи. > On 29 Sep 2015, at 12:14, OZzzy wrote: > > Прошло 2 года , а я наступаю на те же грабли. > не могу никак сделать редирект с порта 8080 на порт 44410 > > тот же конфиг что и был: > > server { > listen 95.65.37.90:44410; > > location ~ > /\.(ht|svn|cvs|hg|txt|log|class|cgi|xml|conf|config|properties|jar) { > deny all; > } > > location /iweb/ { > proxy_pass http://localhost:8080; > proxy_redirect http://localhost:8080/ http://95.65.37.90:44410/; > proxy_set_header Host $host; > proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; > proxy_set_header X-Real-IP $remote_addr; > access_log /var/log/iweb/admin_access.log; > error_log /var/log/iweb/admin_error.log notice; > > deny all; > } > } > > > получаю ошибку 403 nginx > > Posted at Nginx Forum: http://forum.nginx.org/read.php?21,234597,261914#msg-261914 > > _______________________________________________ > nginx-ru mailing list > nginx-ru на nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru -- Ekaterina Kukushkina NGINX, Inc. From mdounin на mdounin.ru Tue Sep 29 12:45:30 2015 From: mdounin на mdounin.ru (Maxim Dounin) Date: Tue, 29 Sep 2015 15:45:30 +0300 Subject: =?UTF-8?B?UmU6INCg0LXQtNC40YDQtdC60YIg0L3QsCDQstGL0LHRgNCw0L3QvdGL0Lkg0L8=?= =?UTF-8?B?0L7RgNGC?= In-Reply-To: <1c59fbce307b49cc1d7126b1616789f2.NginxMailingListRussian@forum.nginx.org> References: <1c59fbce307b49cc1d7126b1616789f2.NginxMailingListRussian@forum.nginx.org> Message-ID: <20150929124530.GC13202@mdounin.ru> Hello! On Tue, Sep 29, 2015 at 05:14:42AM -0400, OZzzy wrote: > Прошло 2 года , а я наступаю на те же грабли. > не могу никак сделать редирект с порта 8080 на порт 44410 > > тот же конфиг что и был: > > server { > listen 95.65.37.90:44410; > > location ~ > /\.(ht|svn|cvs|hg|txt|log|class|cgi|xml|conf|config|properties|jar) { > deny all; > } > > location /iweb/ { > proxy_pass http://localhost:8080; > proxy_redirect http://localhost:8080/ http://95.65.37.90:44410/; > proxy_set_header Host $host; > proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; > proxy_set_header X-Real-IP $remote_addr; > access_log /var/log/iweb/admin_access.log; > error_log /var/log/iweb/admin_error.log notice; > > deny all; > } > } > > > получаю ошибку 403 nginx А что вы ожидали получить, с учётом того, что во всех имеющихся location'ах написано "deny all"? -- Maxim Dounin http://nginx.org/ From nginx-forum на nginx.us Tue Sep 29 19:36:57 2015 From: nginx-forum на nginx.us (OZzzy) Date: Tue, 29 Sep 2015 15:36:57 -0400 Subject: Debug log Message-ID: Прошу помощи у гуру: помогите проанализировать лог. Желательно подробно, чтобы в будущем я смогла это делать сама. https://clck.ru/9aw9L Posted at Nginx Forum: http://forum.nginx.org/read.php?21,261932,261932#msg-261932 From nginx-forum на nginx.us Tue Sep 29 21:08:19 2015 From: nginx-forum на nginx.us (OZzzy) Date: Tue, 29 Sep 2015 17:08:19 -0400 Subject: =?UTF-8?B?UmU6INCg0LXQtNC40YDQtdC60YIg0L3QsCDQstGL0LHRgNCw0L3QvdGL0Lkg0L8=?= =?UTF-8?B?0L7RgNGC?= In-Reply-To: <20150929124530.GC13202@mdounin.ru> References: <20150929124530.GC13202@mdounin.ru> Message-ID: <96fbbabab3cbbd67b3208a4efe503588.NginxMailingListRussian@forum.nginx.org> для одного IP открыт доступ. server { listen 95.65.37.90:44410; location /iweb/ { proxy_pass http://127.0.0.1:8080; proxy_redirect http://127.0.0.1:8080/ http://95.65.37.90:44410/; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Real-IP $remote_addr; allow 212.28.89.142; deny all; access_log /var/log/iweb/admin_access.log; error_log /var/log/iweb/admin_error.log notice; } } в браузере: 403 Forbidden nginx/1.9.5 debug log ------------- 2015/09/29 23:58:15 [debug] 13120#0: epoll: fd:10 ev:0001 d:092F3944 2015/09/29 23:58:15 [debug] 13120#0: post event 092DB7E8 2015/09/29 23:58:15 [debug] 13120#0: timer delta: 106520 2015/09/29 23:58:15 [debug] 13120#0: posted event 092DB7E8 2015/09/29 23:58:15 [debug] 13120#0: delete posted event 092DB7E8 2015/09/29 23:58:15 [debug] 13120#0: accept on 95.65.37.90:44410, ready: 0 2015/09/29 23:58:15 [debug] 13120#0: posix_memalign: 092BBE20:256 @16 2015/09/29 23:58:15 [debug] 13120#0: *95 accept: 212.28.83.142:51604 fd:3 2015/09/29 23:58:15 [debug] 13120#0: *95 event timer add: 3: 60000:451343953 2015/09/29 23:58:15 [debug] 13120#0: *95 reusable connection: 1 2015/09/29 23:58:15 [debug] 13120#0: *95 epoll add event: fd:3 op:1 ev:80002001 2015/09/29 23:58:15 [debug] 13120#0: worker cycle 2015/09/29 23:58:15 [debug] 13120#0: accept mutex locked 2015/09/29 23:58:15 [debug] 13120#0: epoll timer: 60000 2015/09/29 23:58:15 [debug] 13120#0: epoll: fd:10 ev:0001 d:092F3944 2015/09/29 23:58:15 [debug] 13120#0: post event 092DB7E8 2015/09/29 23:58:15 [debug] 13120#0: timer delta: 1 2015/09/29 23:58:15 [debug] 13120#0: posted event 092DB7E8 2015/09/29 23:58:15 [debug] 13120#0: delete posted event 092DB7E8 2015/09/29 23:58:15 [debug] 13120#0: accept on 95.65.37.90:44410, ready: 0 2015/09/29 23:58:15 [debug] 13120#0: posix_memalign: 092BE1D0:256 @16 2015/09/29 23:58:15 [debug] 13120#0: *96 accept: 212.28.83.142:51605 fd:6 2015/09/29 23:58:15 [debug] 13120#0: *96 event timer add: 6: 60000:451343954 2015/09/29 23:58:15 [debug] 13120#0: *96 reusable connection: 1 2015/09/29 23:58:15 [debug] 13120#0: *96 epoll add event: fd:6 op:1 ev:80002001 2015/09/29 23:58:15 [debug] 13120#0: worker cycle 2015/09/29 23:58:15 [debug] 13120#0: accept mutex locked 2015/09/29 23:58:15 [debug] 13120#0: epoll timer: 59999 2015/09/29 23:58:15 [debug] 13120#0: epoll: fd:3 ev:0001 d:092F3A1D 2015/09/29 23:58:15 [debug] 13120#0: *95 post event 092DB848 2015/09/29 23:58:15 [debug] 13120#0: timer delta: 228 2015/09/29 23:58:15 [debug] 13120#0: posted event 092DB848 2015/09/29 23:58:15 [debug] 13120#0: *95 delete posted event 092DB848 2015/09/29 23:58:15 [debug] 13120#0: *95 http wait request handler 2015/09/29 23:58:15 [debug] 13120#0: *95 malloc: 092BE2E8:1024 2015/09/29 23:58:15 [debug] 13120#0: *95 recv: fd:3 407 of 1024 2015/09/29 23:58:15 [debug] 13120#0: *95 reusable connection: 0 2015/09/29 23:58:15 [debug] 13120#0: *95 posix_memalign: 092BE6F0:4096 @16 2015/09/29 23:58:15 [debug] 13120#0: *95 http process request line 2015/09/29 23:58:15 [debug] 13120#0: *95 http request line: "GET /iweb/roles/ HTTP/1.1" 2015/09/29 23:58:15 [debug] 13120#0: *95 http uri: "/iweb/roles/" 2015/09/29 23:58:15 [debug] 13120#0: *95 http args: "" 2015/09/29 23:58:15 [debug] 13120#0: *95 http exten: "" 2015/09/29 23:58:15 [debug] 13120#0: *95 http process request header line 2015/09/29 23:58:15 [debug] 13120#0: *95 http header: "Host: 95.65.37.90:44410" 2015/09/29 23:58:15 [debug] 13120#0: *95 http header: "Connection: keep-alive" 2015/09/29 23:58:15 [debug] 13120#0: *95 http header: "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8" 2015/09/29 23:58:15 [debug] 13120#0: *95 http header: "Upgrade-Insecure-Requests: 1" 2015/09/29 23:58:15 [debug] 13120#0: *95 http header: "User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36" 2015/09/29 23:58:15 [debug] 13120#0: *95 http header: "Accept-Encoding: gzip, deflate, sdch" 2015/09/29 23:58:15 [debug] 13120#0: *95 http header: "Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4" 2015/09/29 23:58:15 [debug] 13120#0: *95 http header done 2015/09/29 23:58:15 [debug] 13120#0: *95 event timer del: 3: 451343953 2015/09/29 23:58:15 [debug] 13120#0: *95 rewrite phase: 0 2015/09/29 23:58:15 [debug] 13120#0: *95 test location: "/iweb/" 2015/09/29 23:58:15 [debug] 13120#0: *95 using configuration "/iweb/" 2015/09/29 23:58:15 [debug] 13120#0: posted event 092DB848 2015/09/29 23:58:15 [debug] 13120#0: worker cycle 2015/09/29 23:58:15 [debug] 13120#0: accept mutex locked 2015/09/29 23:58:15 [debug] 13120#0: epoll timer: 20000 2015/09/29 23:58:25 [debug] 13120#0: epoll: fd:6 ev:2001 d:092F3A88 2015/09/29 23:58:25 [debug] 13120#0: *96 post event 092DB878 2015/09/29 23:58:25 [debug] 13120#0: timer delta: 9773 2015/09/29 23:58:25 [debug] 13120#0: posted event 092DB878 2015/09/29 23:58:25 [debug] 13120#0: *96 delete posted event 092DB878 2015/09/29 23:58:25 [debug] 13120#0: *96 http wait request handler 2015/09/29 23:58:25 [debug] 13120#0: *96 malloc: 092BE2E8:1024 2015/09/29 23:58:25 [debug] 13120#0: *96 recv: fd:6 0 of 1024 2015/09/29 23:58:25 [info] 13120#0: *96 client closed connection while waiting for request, client: 212.28.83.142, server: 95.65.37.90:44410 2015/09/29 23:58:25 [debug] 13120#0: *96 close http connection: 6 2015/09/29 23:58:25 [debug] 13120#0: *96 event timer del: 6: 451343954 2015/09/29 23:58:25 [debug] 13120#0: *96 reusable connection: 0 2015/09/29 23:58:25 [debug] 13120#0: *96 free: 092BE2E8 2015/09/29 23:58:25 [debug] 13120#0: *96 free: 092BE1D0, unused: 44 Posted at Nginx Forum: http://forum.nginx.org/read.php?21,234597,261936#msg-261936 From nginx-forum на nginx.us Tue Sep 29 21:25:59 2015 From: nginx-forum на nginx.us (OZzzy) Date: Tue, 29 Sep 2015 17:25:59 -0400 Subject: =?UTF-8?B?UmU6INCg0LXQtNC40YDQtdC60YIg0L3QsCDQstGL0LHRgNCw0L3QvdGL0Lkg0L8=?= =?UTF-8?B?0L7RgNGC?= In-Reply-To: References: Message-ID: Была моя ошибка: одна цифра разрешенного IP Спасибо Максим Просьба: я открыла топик, помогите ПОЖАЛУЙСТА дебаг лог научиться анализировать. Posted at Nginx Forum: http://forum.nginx.org/read.php?21,234597,261937#msg-261937 From mdounin на mdounin.ru Wed Sep 30 12:54:50 2015 From: mdounin на mdounin.ru (Maxim Dounin) Date: Wed, 30 Sep 2015 15:54:50 +0300 Subject: Debug log In-Reply-To: References: Message-ID: <20150930125449.GA30105@mdounin.ru> Hello! On Tue, Sep 29, 2015 at 03:36:57PM -0400, OZzzy wrote: > Прошу помощи у гуру: > помогите проанализировать лог. Желательно подробно, чтобы в будущем я смогла > это делать сама. > > https://clck.ru/9aw9L Судя по тому, как лог запроса обраывается после выбора location'а "/iweb/": ... 2015/09/29 20:50:48 [debug] 31060#0: *77 http header done 2015/09/29 20:50:48 [debug] 31060#0: *77 event timer del: 4: 440097125 2015/09/29 20:50:48 [debug] 31060#0: *77 rewrite phase: 0 2015/09/29 20:50:48 [debug] 31060#0: *77 test location: "/iweb/" 2015/09/29 20:50:48 [debug] 31060#0: *77 using configuration "/iweb/" 2015/09/29 20:50:48 [debug] 31060#0: timer delta: 2 2015/09/29 20:50:48 [debug] 31060#0: posted event 092DB938 2015/09/29 20:50:48 [debug] 31060#0: worker cycle ... логгирование переопределено в этом location'е. См. http://nginx.org/ru/docs/debugging_log.html: : Обратите внимание, что переопределение лога без одновременного : указания уровня debug отключит отладочный лог... Там же написано, как этого избежать. В остально анализировать в логе нечего. Что касается самостоятельного анализа, то лог надо соотносить в первую очередь с кодом, именно происходящее там он и отражает. Читайте код, именно там написано, в каких ситуациях выводится каждое сообщение, и что оно означает. Впрочем, по выводимому тексту обычно тоже многое ясно. -- Maxim Dounin http://nginx.org/ From nginx-forum на nginx.us Wed Sep 30 15:20:47 2015 From: nginx-forum на nginx.us (xore) Date: Wed, 30 Sep 2015 11:20:47 -0400 Subject: =?UTF-8?B?0JIg0LTQvtC60YPQvNC10L3RgtCw0YbQuNC4INC/0L7RgtC10YDRj9C70LggcG9z?= =?UTF-8?B?dCBhY3Rpb24=?= Message-ID: Добрый день. Я заметил, что в документации нет описания директивы post_action. Ранее (до переезда со статического сайта) её описание было в английской документации. А сейчас вообще нигде нет. Эта директива ещё актуальна? Posted at Nginx Forum: http://forum.nginx.org/read.php?21,261953,261953#msg-261953