curl: Empty reply from server nginx/1.12.0
Добрый день! Используется: nginx -V nginx version: nginx/1.12.0 built by gcc 4.4.7 20120313 (Red Hat 4.4.7-17) (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 --modules-path=/usr/lib64/nginx/modules --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-compat --with-file-aio --with-threads --with-http_addition_module --with-http_auth_request_module --with-http_dav_module --with-http_flv_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_mp4_module --with-http_random_index_module --with-http_realip_module --with-http_secure_link_module --with-http_slice_module --with-http_ssl_module --with-http_stub_status_module --with-http_sub_module --with-http_v2_module --with-mail --with-mail_ssl_module --with-stream --with-stream_realip_module --with-stream_ssl_module --with-stream_ssl_preread_module --with-cc-opt='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -fPIC' --with-ld-opt='-Wl,-z,relro -Wl,-z,now -pie' Делаю запрос curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' там дальше запрос и URL В логах вижу запись с 200 кодом Дальше делаю еще раз запрос curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' там дальше запрос и URL И получаю ответ curl: (52) Empty reply from server А в логах nginx пусто! Изменил error_log путь до лога debug; Остановил nginx. Запустил nginx-debug. И все равно пусто. Что может быть? Posted at Nginx Forum: https://forum.nginx.org/read.php?21,280241,280241#msg-280241 ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: Не работает proxy cache lock
Прошу прощения, пропустил вторую часть ответа. С proxy_cache_lock_age и proxy_cache_lock_age я уже игрался. Никакого влияния на ситуацию не заметил. Равномерность трудно проверить, так как запросов довольно много и какие-то флуктуации-таки есть. Но похоже что да, равномерно. Прямо полное ощущение, что proxy_cache_lock не работает вообще. Posted at Nginx Forum: https://forum.nginx.org/read.php?21,280230,280233#msg-280233 ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: Не работает proxy cache lock
К сожалению, не всё так просто. Ответ бекенда сильно меньше секунды, а умолчания для proxy_{connect,send,read}_timeout аж минута. Чтобы уберится, что дело точно не в этом, сделал так: proxy_connect_timeout 1h; proxy_send_timeout 1h; proxy_read_timeout 1h; Я, всё же, думаю, что это баг nginx'а и блокировка там не атомарная, за счёт чего происходит гонка. Posted at Nginx Forum: https://forum.nginx.org/read.php?21,280230,280231#msg-280231 ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: Не работает proxy cache lock
ZZZ писал 2018-06-21 17:43: Доброго утра! Добрый день! Я напоролся на проблему с proxy_cache_lock. Ниже минимальный конфиг, на который я шлю порядка 150 простых запросов в секунду. Каждые пять секунд, когда инвализируется кеш, на апстрим уходит от пяти до двадцати запросов, в зависимости от времени ответа апстрима, Вероятно, у вас значения proxy_{connect,send,read}_timeout в 5-20 раз меньше времени ответа вашего бэкенда. И цикл - лочим кеш и отправляем запрос на бэкенд - запрос таймаутится успевает повториться несколько раз. Другая версия - срабатывает proxy_cache_lock_age Посмотрите по логам - эти лишние запросы отправляются на бэкенд равномерно в течение времени его неответа? или "пачкой" после первого запроса? -- Best regards, Andrey A. Kopeyko ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: Не работает proxy cache lock
Спасибо, но мне не нужен stale. Мне нужна именно блокировка. После инвалидации кеша клиент не должен получить старых данных. Sergey Kandaurov Wrote: --- > > On 21 Jun 2018, at 17:43, ZZZ wrote: > > > > Доброго утра! > > > > Я напоролся на проблему с proxy_cache_lock. Ниже минимальный конфиг, > на > > который я шлю порядка 150 простых запросов в секунду. Каждые пять > секунд, > > когда инвализируется кеш, на апстрим уходит от пяти до двадцати > запросов, в > > http://nginx.org/r/proxy_cache_use_stale/ru > > “дополнительный параметр updating разрешает использовать устаревший > закэшированный ответ, если на данный момент он уже обновляется” > > -- > Sergey Kandaurov > > ___ > nginx-ru mailing list > nginx-ru@nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru Posted at Nginx Forum: https://forum.nginx.org/read.php?21,280227,280229#msg-280229 ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: Не работает proxy cache lock
> On 21 Jun 2018, at 17:43, ZZZ wrote: > > Доброго утра! > > Я напоролся на проблему с proxy_cache_lock. Ниже минимальный конфиг, на > который я шлю порядка 150 простых запросов в секунду. Каждые пять секунд, > когда инвализируется кеш, на апстрим уходит от пяти до двадцати запросов, в http://nginx.org/r/proxy_cache_use_stale/ru “дополнительный параметр updating разрешает использовать устаревший закэшированный ответ, если на данный момент он уже обновляется” -- Sergey Kandaurov ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Не работает proxy cache lock
Доброго утра! Я напоролся на проблему с proxy_cache_lock. Ниже минимальный конфиг, на который я шлю порядка 150 простых запросов в секунду. Каждые пять секунд, когда инвализируется кеш, на апстрим уходит от пяти до двадцати запросов, в зависимости от времени ответа апстрима, тогда как я жду, что уйдёт только один запрос, а остальные будут ждать его обработки. Отключени proxy_cache_lock не влияет на проблему никак. user nginx; worker_processes 2; error_log /var/log/nginx/error.log warn; pid /var/run/nginx.pid; events { worker_connections 1024; } http { include /etc/nginx/mime.types; default_type application/octet-stream; log_format main escape=json '$time_iso8601 $request_id ' '$remote_addr $request_length $host "$request" "$http_referer" "$http_user_agent" ' '$request_time $status $body_bytes_sent'; access_log /var/log/nginx/access.log main; proxy_cache_path /var/cache/nginx/CACHE levels=1:2 keys_zone=CACHE:16m; server { listen 80 default_server; listen [::]:80 default_server; proxy_cache CACHE; proxy_cache_lock on; proxy_cache_lock_age 10s; proxy_cache_lock_timeout 20s; proxy_cache_valid 200 5s; proxy_ignore_headers X-Accel-Expires Expires Cache-Control Set-Cookie Vary; proxy_set_header Host HOST; location / { proxy_pass https://HOST; } } } Запускаю вот таким образом: $ docker run --rm -it -v (pwd)/nginx.conf:/etc/nginx/nginx.conf:ro -p 80:80 nginx:alpine Пробовал версии, от 1.10 до 1.15. Posted at Nginx Forum: https://forum.nginx.org/read.php?21,280226,280226#msg-280226 ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: Открытые файлы растут после обновления до 1.14
Спасибо, отписал майнтейнеру порта www/nginx joneum@ Posted at Nginx Forum: https://forum.nginx.org/read.php?21,280196,280225#msg-280225 ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: Открытые файлы растут после обновления до 1.14
> Или сообщите разработчику eustas о проблеме, > чтобы тот сам связался с тем, кто занимается портом nginx, > чтобы тот поправил ссылку на модуль eustas:ngx_brotli извиняюсь за оффтопик, но это было мощно :D On Thu, Jun 21, 2018 at 1:42 PM Gena Makhomed wrote: > On 20.06.2018 20:18, rihad wrote: > > > После обновления nginx с 1.12 до 1.14 на FreeBSD 10 открытые удаленные > файлы > > (lsof +L1) стремительно растут для nginx. > > В обеих версиях один конфиг, и одни опции постройки. > > > > OPTIONS_FILE_SET+=BROTLI > > Судя по файлу > > https://github.com/freebsd/freebsd-ports/blob/master/www/nginx/Makefile.extmod > > у Вас используется > > BROTLI_LIB_DEPENDS= libbrotlicommon.so:archivers/brotli > BROTLI_GH_TUPLE=eustas:ngx_brotli:37ab9b2:brotli > BROTLI_VARS=DSO_EXTMODS+=brotli > > eustas:ngx_brotli - это глючная версия модуля, которая приводит > к утечке сокетов, недавно этот вопрос обсуждался в этой же рассылке: > http://mailman.nginx.org/pipermail/nginx-ru/2018-June/061206.html > > После этого обсуждения eustas поправил в своем форке проблему: > > https://github.com/eustas/ngx_brotli/commit/e26248ee361c04e25f581b92b85d95681bdffb39 > > Но порт FreeBSD ссылается на глючную версию 37ab9b2 от 17 апреля 2018. > > Версия с исправленным глюком - это e26248e > https://github.com/google/ngx_brotli/compare/master...eustas:master > > Соответственно, Вам надо связаться с ответственным за порт > https://github.com/freebsd/freebsd-ports/tree/master/www/nginx > чтобы тот поправил ссылку на модуль eustas:ngx_brotli > > Или сообщите разработчику eustas о проблеме, > чтобы тот сам связался с тем, кто занимается портом nginx, > чтобы тот поправил ссылку на модуль eustas:ngx_brotli > > Если проблему в портах уже исправили, но просто забыли обновить > содержимое портов на github - тогда Вам достаточно будет просто > пересобрать nginx заново из портов и проблема будет устранена. > > -- > Best regards, > Gena > > ___ > 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
Re: Открытые файлы растут после обновления до 1.14
On 20.06.2018 20:18, rihad wrote: После обновления nginx с 1.12 до 1.14 на FreeBSD 10 открытые удаленные файлы (lsof +L1) стремительно растут для nginx. В обеих версиях один конфиг, и одни опции постройки. OPTIONS_FILE_SET+=BROTLI Судя по файлу https://github.com/freebsd/freebsd-ports/blob/master/www/nginx/Makefile.extmod у Вас используется BROTLI_LIB_DEPENDS= libbrotlicommon.so:archivers/brotli BROTLI_GH_TUPLE=eustas:ngx_brotli:37ab9b2:brotli BROTLI_VARS=DSO_EXTMODS+=brotli eustas:ngx_brotli - это глючная версия модуля, которая приводит к утечке сокетов, недавно этот вопрос обсуждался в этой же рассылке: http://mailman.nginx.org/pipermail/nginx-ru/2018-June/061206.html После этого обсуждения eustas поправил в своем форке проблему: https://github.com/eustas/ngx_brotli/commit/e26248ee361c04e25f581b92b85d95681bdffb39 Но порт FreeBSD ссылается на глючную версию 37ab9b2 от 17 апреля 2018. Версия с исправленным глюком - это e26248e https://github.com/google/ngx_brotli/compare/master...eustas:master Соответственно, Вам надо связаться с ответственным за порт https://github.com/freebsd/freebsd-ports/tree/master/www/nginx чтобы тот поправил ссылку на модуль eustas:ngx_brotli Или сообщите разработчику eustas о проблеме, чтобы тот сам связался с тем, кто занимается портом nginx, чтобы тот поправил ссылку на модуль eustas:ngx_brotli Если проблему в портах уже исправили, но просто забыли обновить содержимое портов на github - тогда Вам достаточно будет просто пересобрать nginx заново из портов и проблема будет устранена. -- Best regards, Gena ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: Открытые файлы растут после обновления до 1.14
# cat brotli.conf.inc brotli on; brotli_min_length 200; brotli_comp_level 6; brotli_types text/css text/x-component application/x-javascript application/javascript text/javascript text/x-js text/richtext image/svg+xml application/atom+xml application/rss+xml text/plain text/xsd text/xsl text/xml image/bmp application/java application/msword application/vnd.ms-fontobject application/x-msdownload image/x-icon image/webp application/json application/vnd.ms-access application/vnd.ms-project application/x-font-otf application/vnd.ms-opentype application/vnd.oasis.opendocument.database application/vnd.oasis.opendocument.chart application/vnd.oasis.opendocument.formula application/vnd.oasis.opendocument.graphics application/vnd.oasis.opendocument.spreadsheet application/vnd.oasis.opendocument.text audio/ogg application/pdf application/vnd.ms-powerpoint application/x-shockwave-flash image/tiff application/x-font-ttf audio/wav application/vnd.ms-write application/font-woff application/font-woff2 application/vnd.ms-excel; файл в кеше не пожатый: # cat ./1/06/0fd94fd936530048a3e935a3266c8061 ��+[qs+[���l] KEY: httpsGETsite.address/ �Set-Cookie: PHPSESSID=bc1f4cae0acd1de9a9782ffdfb9d9d00; path=/; HttpOnly Expires: Thu, 19 Nov 1981 08:52:00 GMT Cache-Control: no-store, no-cache, must-revalidate Pragma: no-cache Content-type: text/html; charset=windows-1251 Posted at Nginx Forum: https://forum.nginx.org/read.php?21,280196,280219#msg-280219 ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: Открытые файлы растут после обновления до 1.14
Dmytro Lavryk Wrote: --- > Точно. Там люди ходят. Не самые посещаемые сайты, но все же... > > curl -H 'Accept-Encoding: br' -I https://site.address/ > ... > content-encoding: br Вы используете brotli on? Контент ложится в кэш br, или в сыром виде и зажимается на лету? Можете посмотреть файл, просто грепните по ключу что используется в fastcgi_cache_key Например если у вас $http_host$uri и вы запросили https://site.address/ то ищется по nice sudo fgrep -ax 'KEY: site.address/' /path/to/nginx/cache -rl это даст название файла кэша в котором лежит https://site.address/ и который сможете открыть через less и посмотреть тело. Posted at Nginx Forum: https://forum.nginx.org/read.php?21,280196,280218#msg-280218 ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: Как работает include
Dmitry Ivanov Wrote: --- > Здравствуйте, Aleksandr_Petrov. > > Вы писали 20 июня 2018 г., 19:03:50: > > > Подскажите пожалуйста как работает include в конфиге nginx. Указываю > три > > include в секцию server, в предположение что они добавят нужный > конфиг в > > порядке следования, но в результате работает не так как ожидается. > > nginx -T > > поможет > > -- > С уважением, > Dmitry nginx...@sadok.spb.ru > > ___ > nginx-ru mailing list > nginx-ru@nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru Как раз после "nginx -T" и возник вопрос. Получается что конфиг из внешнего файла вставляется не в том же месте где include и не в порядке следования если include несколько подряд. Posted at Nginx Forum: https://forum.nginx.org/read.php?21,280194,280214#msg-280214 ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: Открытые файлы растут после обновления до 1.14
Точно. Там люди ходят. Не самые посещаемые сайты, но все же... curl -H 'Accept-Encoding: br' -I https://site.address/ HTTP/2 200 server: nginx date: Thu, 21 Jun 2018 07:23:26 GMT content-type: text/html; charset=windows-1251 vary: Accept-Encoding set-cookie: PHPSESSID=ec9c7427c1ee83392f44a606f0dc8245; path=/; HttpOnly expires: Thu, 19 Nov 1981 08:52:00 GMT cache-control: no-store, no-cache, must-revalidate pragma: no-cache strict-transport-security: max-age=31536000; always content-encoding: br Posted at Nginx Forum: https://forum.nginx.org/read.php?21,280196,280213#msg-280213 ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: Открытые файлы растут после обновления до 1.14
Dmytro Lavryk Wrote: --- > Собрал, включил, перезапустил. > Работает часа 3. Описаного эффекта не наблюдается - все работает. Точно зажимает? Попробуйте плиз на своем ресурсе запросить что-то по https. curl -H 'Accept-Encoding: br' -I https://example.com/ Posted at Nginx Forum: https://forum.nginx.org/read.php?21,280196,280212#msg-280212 ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: Открытые файлы растут после обновления до 1.14
Собрал, включил, перезапустил. Работает часа 3. Описаного эффекта не наблюдается - все работает. Posted at Nginx Forum: https://forum.nginx.org/read.php?21,280196,280211#msg-280211 ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru