Re: количество и размер бакетов
Здравствуйте, Maxim. > То есть если мы не смогли построить хэш в рамках заданных > ограничений на максимальное количество бакетов (max size) и размер > одного бакета (bucket size), то мы построим хэш с максимально > разрешённым количеством бакетов, игнорируя ограничене на размер > одного бакета. Понятно, т.е. эти настройки фактически про экономию оперативки... А где описано максимально разрешённое количество? Это оно http://hg.nginx.org/nginx/file/tip/src/core/ngx_hash.h#l68 ? #define NGX_HASH_LARGE_ASIZE 16384 #define NGX_HASH_LARGE_HSIZE 10007 -- С уважением, Михаил mailto:postmas...@softsearch.ru ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: количество и размер бакетов
Здравствуйте, Maxim. > Начиная с 1.5.13 (http://hg.nginx.org/nginx/rev/c348dea081fb) - > nginx запустится, и выдаст лишь предупреждение. > Фатальная ошибка будет только в том случае, если размер одного > элемента превышает заданный bucket size, но это обычно означет > именно что ошибку в конфиге. А если при старте nginx-а в бакете есть 10 элементов и надо добавить 11-ый, который не влазит, то что произойдёт? По ссылке там только уровень логирования изменён. А хочется понять логику в описанной ситуации. -- С уважением, Михаил mailto:postmas...@softsearch.ru ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
количество и размер бакетов
Здравствуйте. Уnginx-аесть несколько настроек, которые задаю количество бакетов и количество элементов в каждом бакете. Если заданных значений не достаточно, то nginx не запустится и выдаст ошибку. Так раньше было по крайней мере. Как подружить такие настройки со сгенерёнными конфигами, которые часто меняются? Даже если задать большое количество бакетов, то вполне вероятна ситуация, когда такая настройка не подойдёт и nginx не запустится. При этом nginx давно и успешно работает в облаках, где подобная генерация конфигов - норма. Как эту проблему обычно решают или её уже нет давно? -- С уважением, Михаил mailto:postmas...@softsearch.ru ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: client_max_body_size inside if
Здравствуйте, Ruslan. > Proof of concept патч: Руслан, огромное спасибо! -- С уважением, Михаил mailto:postmas...@softsearch.ru ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: client_max_body_size inside if
Здравствуйте, fox. Вы правы. Нужно писать одно равно. > В разве не "if ($request_method = PUT )"? Но тут всёравно нет if-а http://nginx.org/ru/docs/http/ngx_http_core_module.html#client_max_body_size -- С уважением, Михаил mailto:postmas...@softsearch.ru ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
client_max_body_size inside if
Здравствуйте. Оказалось, что client_max_body_size не работает внутри if-а . Хотел ограничивать размер GET- и POST-запросов, не ограничивая размер PUT-запросов, поступающих с доверенных ip. Конфиг планировался примерно такой: server { listen 80; server_name x; expires 1y; location / { root //y; if ($request_method == PUT ) { client_max_body_size 0; # disable request size checks } client_body_temp_path //webdav-tmp; dav_methods PUT DELETE MKCOL COPY MOVE; create_full_put_path on; dav_access user:rw group:rw all:r; limit_except GET { allow 127.0.0.0/8; allow 10.0.0.0/8; deny all; } } } Добавить NGX_HTTP_LIF_CONF в ngx_http_core_module.c не проблема. Но если есть возможность менять client_max_body_size внутри if-ов в самом nginx-е, было бы здорово. Если против этого, конечно же, нет никаких возражений. -- С уважением, Михаил mailto:postmas...@softsearch.ru ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: Отдать JSON в зависимости от тела POST'a
Здравствуйте, darksmoke. > Подскажите, может кто-то знает, есть один урл и он отдает разный JSON в > зависимости от того какая переменная в него пришла POST'ом. > Если знаете такое решение покажите пожалуйста. Теоритически скрипт на луа > может такое. Но я еще не дошел до него, может есть проще варианты? С помощью map это возможно http://nginx.org/ru/docs/http/ngx_http_map_module.html -- С уважением, Михаил mailto:postmas...@softsearch.ru ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: location vs map по скорость
Здравствуйте, kpoxa. perf даст больше полезной информации. > А что будет по скорости быстрее работать, при ограничении доступа к > определенным расширениям файлов (2-3 десятка расширений): -- С уважением, Михаил mailto:postmas...@softsearch.ru ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: https://www.nginx.com/blog/performance-tuning-tips-tricks/
Здравствуйте, Валентин. > Будут приняты меры чтобы этого больше не повторялось. Хорошо бы ещё спам в листе победить. С уважением, Михаил mailto:postmas...@softsearch.ru ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: Зависание nginx из-за memcached
Здравствуйте, Vadim. > просмотрел Release notes от 1.4.2 и выше и какого упоминания о > исправлении возможного бага в коде модуля memcached не заметил. Сторонние модули могут наводить проблемы для других модулей. Чем их меньше, тем лучше. А обновиться стоит потому, что несколько secure-багов исправлено. -- С уважением, Михаил mailto:postmas...@softsearch.ru ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: Зависание nginx из-за memcached
Здравствуйте, Vadim. Эксперимент можно было бы провести без сторонних модулей. Тогда появился бы хотя бы один вариант решения Вашей проблемы. > нет, т.к. это довольно рискованный и трудоемкий процесс в сравнении с > возможным изменением конфиг. файла nginx.conf, настроек memcached. > Чтобы обновить до 1.10 потребуется заново собирать nginx, проверять > правильность работы сторонних модулей, делать обычное и нагрузочное > тестирование. > Поэтому, хотелось бы обойтись меньшими затратами > Posted at Nginx Forum: > https://forum.nginx.org/read.php?21,267049,267055#msg-267055 > ___ > nginx-ru mailing list > nginx-ru@nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru -- С уважением, Михаил mailto:postmas...@softsearch.ru ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: Зависание nginx из-за memcached
Здравствуйте, Vadim. > Версия nginx: 1.4.2 Обновлять nginx не пробовали? -- С уважением, Михаил mailto:postmas...@softsearch.ru ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: nginx-1.9.12
Здравствуйте, Vadim. >> *) Исправление: в модуле ngx_http_v2_module. >> > А вот когда пишется что-то в подобной форулировке (только "исправление", > без конкретики) это значит, что что-то секретное? :) http://hg.nginx.org/nginx/ -- С уважением, Михаил mailto:postmas...@softsearch.ru ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: nginx отъедает все процессорное время
Здравствуйте, Валентин. > Можно настроить дебаг лог в памяти: > http://nginx.org/ru/docs/debugging_log.html#memory Предполагается, что как-то автоматически будет отлавливаться искомое событие и после этого дёргаться gdb-скрипт? -- С уважением, Михаил mailto:postmas...@softsearch.ru ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: модуль на заказ
Здравствуйте, Alexander. Попробуйте написать его сами на одном из встроенных в nginx языков: Javascript, Perl или Lua. > Скажите, пожалуйста, где можно заказать написание модуля? > Выполнялет ли такие заказы Nginx Inc.? -- С уважением, Михаил mailto:postmas...@softsearch.ru ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: Обновление бинарника и кэш
Здравствуйте, ingtar. > Имеется сервис nginx, который кэширует картинки для отдачи пользователям. > Большие обьемы в несколько десятков GB. > При рестарте службы он начинает переиндексировать свой кеш и работа > тормозится. > При обновлении бинарника по шагам > http://nginx.org/ru/docs/control.html#upgrade кэш будет так же > перестраиваться или он получит доступ к уже имеющимся данным? Иногда в новых версиях меняется формат данных, хранящихся в кэше. Тогда кэш фактически полностью теряется. -- С уважением, Михаил mailto:postmas...@softsearch.ru ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: nginx-1.9.11
Здравствуйте, Maxim. >> А можно чуть подробнее про динамические модули? На основе чего их >> можно делать? >> > Вот здесь есть подробности > https://www.nginx.com/resources/wiki/extending/ Почитал немного, но не понял, какая проблема решается спомощью динамических модулей? -- С уважением, Михаил mailto:postmas...@softsearch.ru ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: geoip и прокси
Здравствуйте, Илья. Он пишется в заголовок X-Forwarded-For . Зайдите Оперой в турбо-режиме на свой сайт и посмотрите, какие заголовки в запросе придут. > Каким образом? >>> а в чем полезность того факта, что мы можем определить, что запрос >>> пришел через Яндекс или Оперу турбо? >> >> Узнаем настоящее ip юзера. -- С уважением, Михаил mailto:postmas...@softsearch.ru ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: geoip и прокси
Здравствуйте, Илья. > а в чем полезность того факта, что мы можем определить, что запрос > пришел через Яндекс или Оперу турбо? Узнаем настоящее ip юзера. -- С уважением, Михаил mailto:postmas...@softsearch.ru ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: geo2nginx.pl
Здравствуйте, Михаил. Прошу прощения, база в старом формате лежит тут: http://dev.maxmind.com/geoip/legacy/geolite/#Downloads Не знаю, на сколько она свежая, правда. > В составе дистрибутива идёт реально не работающий скрипт. Формат базы > MaxMind-а поменялся. -- С уважением, Михаил mailto:postmas...@softsearch.ru ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
geo2nginx.pl
Здравствуйте. В составе дистрибутива идёт реально не работающий скрипт. Формат базы MaxMind-а поменялся. -- С уважением, Михаил mailto:postmas...@softsearch.ru ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: добавить uri к проскипасу
Здравствуйте, erosio. > как можно добавить uri условно '/newpage' к proxy_pass http://$backend; ? > backend задан через set и если туда сразу uri пихать то работать > отказывается. > пробовал rewrite но тоже безуспешно debug log включите и станет понятно, как оно там внутри работает и почему не работает. А добавить вроде можно так: proxy_pass http://$backend/newpage; -- С уважением, Михаил mailto:postmas...@softsearch.ru ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: geoip и прокси
Здравствуйте, Илья. Раньше были Authority-ноды, которые давали скачивать список всех нод тор-сети в текстовом виде. Сейчас попробовал это сделать - все выдают пустую страницу. Пример: http://128.31.0.34:9131/tor/status/all . Как теперь TOR работает и как получить список нод самостоятельно? > выходные узлы tor в формате map для nginx можно делать вот такой штукой > https://github.com/m-messiah/ipgeobase-importer у меня этот скрипт не может соединиться с ipgeobase.ru :-( > 22 января 2016 г., 4:56 пользователь Михаил Монашёв > <postmas...@softsearch.ru> написал: > Здравствуйте, Андрей. > >>> у меня вот так сейчас. Подсети яндекса давно не обновлял. ip-шки стран >>> скачиваются по ссылке или из maxmind-а конвертятся. > > >> Спасибо за список, в полной мере проблему он конечно не решает, еще бы >> найти где-то списки сетей этих сервисов https://geektimes.ru/post/189488/ > > Кроме TOR-а никого больше не знаю. Списки exit-нод TOR-а легко > выпарсить из того, что публикуют некоторые ноды. > -- > С уважением, > Михаил mailto:postmas...@softsearch.ru > > > ___ > nginx-ru mailing list > nginx-ru@nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru -- С уважением, Михаил mailto:postmas...@softsearch.ru ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: geoip и прокси
Здравствуйте, Андрей. > Есть ли какая-нибудь возможность не имея списка прокси определять > $geoip_country_code последнего адреса в “X-Forwarded-For”? > Другими словами: надо точно определить откуда пришел юзер, даже если он > за проксями. у меня вот так сейчас. Подсети яндекса давно не обновлял. ip-шки стран скачиваются по ссылке или из maxmind-а конвертятся. geo $country { default --; # list of opera proxies: http://wipmania.com/static/worldip.opera.conf # cat /opt/log/nginx/access.lo*|grep "Opera Mini"|awk -F'"' '{print $7}'|awk -F' ' '{print $1}'|sort|uniq|sort|./ip2host.sh|grep opera proxy 141.0.8.0/21; proxy 185.26.180.0/23; proxy 195.189.142.0/23; proxy 217.212.230.0/23; proxy 37.228.104.0/21; proxy 59.151.106.227; proxy 59.151.106.228/30; proxy 59.151.106.232/29; proxy 59.151.106.240/29; proxy 59.151.106.248/30; proxy 59.151.106.252; proxy 64.255.164.0/24; proxy 64.255.180.0/24; proxy 80.232.117.0/24; proxy 80.239.242.0/23; proxy 82.145.208.0/20; proxy 91.203.96.0/22; # yandex browser proxy subnets proxy 141.8.189.0/24; proxy 37.140.189.192/26; proxy 5.45.192.64/26; proxy 5.45.255.64/26; # WorldIP database. # link to download: http://wipmania.com/static/worldip.cidr.zip include ipranges; } # opera proxies set_real_ip_from 141.0.8.0/21; set_real_ip_from 185.26.180.0/23; set_real_ip_from 195.189.142.0/23; set_real_ip_from 217.212.230.0/23; set_real_ip_from 37.228.104.0/21; set_real_ip_from 59.151.106.227; set_real_ip_from 59.151.106.228/30; set_real_ip_from 59.151.106.232/29; set_real_ip_from 59.151.106.240/29; set_real_ip_from 59.151.106.248/30; set_real_ip_from 59.151.106.252; set_real_ip_from 64.255.164.0/24; set_real_ip_from 64.255.180.0/24; set_real_ip_from 80.232.117.0/24; set_real_ip_from 80.239.242.0/23; set_real_ip_from 82.145.208.0/20; set_real_ip_from 91.203.96.0/22; # yandex browser proxy subnets set_real_ip_from 141.8.189.0/24; set_real_ip_from 37.140.189.192/26; set_real_ip_from 5.45.192.64/26; set_real_ip_from 5.45.255.64/26; real_ip_header X-Forwarded-For; -- С уважением, Михаил mailto:postmas...@softsearch.ru ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: geoip и прокси
Здравствуйте, Андрей. >> у меня вот так сейчас. Подсети яндекса давно не обновлял. ip-шки стран >> скачиваются по ссылке или из maxmind-а конвертятся. > Спасибо за список, в полной мере проблему он конечно не решает, еще бы > найти где-то списки сетей этих сервисов https://geektimes.ru/post/189488/ Кроме TOR-а никого больше не знаю. Списки exit-нод TOR-а легко выпарсить из того, что публикуют некоторые ноды. -- С уважением, Михаил mailto:postmas...@softsearch.ru ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: nginx-1.9.8
Здравствуйте, Maxim. > *) Добавление: модуль ngx_http_slice_module. Это для видео сделано? Или для популярных больших файлов? Или ещё для чего-то? -- С уважением, Михаил mailto:postmas...@softsearch.ru ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: nginx-1.9.8
Здравствуйте, Maxim. >> > *) Добавление: модуль ngx_http_slice_module. >> >> Это для видео сделано? Или для популярных больших файлов? Или ещё для >> чего-то? > Да, это нужно для кеширования больших файлов, в том числе - видео. > При использовании следует иметь в виду, что ответы не должны > меняться, т.к. загрузка ответа и кеширование в результате не > атомарны. Как понимать "не атомарны"? Может отдаться часть слайса? -- С уважением, Михаил mailto:postmas...@softsearch.ru ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: nginx testcookie
Здравствуйте, bagas. > Народ добрый вечер. > Кто использует для отсечения ддос атака моудль нгинс testcookie? > есть некторые непонятки, не пойму логики. > настраиваю по этой инструкции > http://habrahabr.ru/post/139931/ Боты часто умеют и куки и редиректы и Javascript и всё прочее. Посмотрите на chromium - это встраиваемый браузер. В боты его тоже успешно встраивают и так имитируют обычных юзеров. Если досят конкретно Ваш сайт, то этот модуль Вам не поможет, ибо всё описанное в статье обходится. -- С уважением, Михаил mailto:postmas...@softsearch.ru ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: javascript in nginx
Здравствуйте, Igor. > Интересно ваше мнение об JS-интерфейсе к внутренностям nginx’а. Было бы интересно иметь возможность смотреть, во что преобразуется написанный код. Судя по http://hg.nginx.org/njs/file/157dc59dae36/njs/njs_disassembler.c он вполне читаем. Может на нём и писать можно? :-) -- С уважением, Михаил mailto:postmas...@softsearch.ru ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: javascript in nginx
Здравствуйте, 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:postmas...@softsearch.ru ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: javascript in nginx
Здравствуйте, Igor. А ещё примеры конфигов с кодом nginscript есть? Судя по исходникам там куча всего реализовано, но не всё из JavaScript-а вроде. -- С уважением, Михаил mailto:postmas...@softsearch.ru ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: javascript in nginx
Здравствуйте, Igor. А как текущая иерархия у $r (ответ - это объект запроса) будет работать с HTTP v2? Если я правильно понимаю, то в HTTP v2 есть не только запрос и ответ. Возможна и посылка данных, которые никак не связаны с запросом, а привязаны к соединению. И даже если я ошибаюсь по поводу HTTP v2, то в будущем будет именно так: соединение, по нему одновременно идёт много пачек данных в одну сторону и много пачек данных в другую сторону. И все они могут иметь, а могут и не иметь связи. Например, по таймауту что-то шлётся в браузер. Или по стороннему событию: пришло новое сообщение в чат. -- С уважением, Михаил mailto:postmas...@softsearch.ru ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re[2]: nginx-1.9.5
Здравствуйте, 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:postmas...@softsearch.ru ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: nginx-1.9.5
Здравствуйте, Maxim. > Изменения в nginx 1.9.5 22.09.2015 > *) Добавление: модуль ngx_http_v2_module (заменяет модуль >ngx_http_spdy_module). >Спасибо Dropbox и Automattic за спонсирование разработки. А какие браузеры сейчас поддерживают http2 без TLS по-умолчанию? -- С уважением, Михаил mailto:postmas...@softsearch.ru ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: Разделение по IP
Здравствуйте. Возникла необходимость спрятать доступ до административной части сайта за конкретный IP адрес. В данный момоент есть 4 зоны: some.domain.com/group1 some.domain.com/group2 some.domain.com/group3 some.domain.com/admin В конфиге они будут выглядеть так: location /group1 { ... } location /group2 { ... } location /group3 { ... } location /admin { allow xxx.xxx.xxx.xxx; deny all; ... } регэкспы в локейшнах городить не нужно, если на то нет ОСТРОЙ необходимости. Включите debug-лог и в нём видно будет как проходят запросы. Это поможет локализовать место с ошибкой. -- С уважением, Михаил mailto:postmas...@softsearch.ru ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re[2]: несколько уровней upstream
Здравствуйте, Maxim. как сделать такое: первый запрос - всегда на основной апстрим, при таймауте на него же через другой порт, и там неудача - на резерв. Последнее через backup, а как первые два сделать? Второму серверу weight=0? можно ли сделать try_files @first @second @third =404? Можно, но оно будет делать не то, о чём вы подумали. Все аргументы try_files, кроме последнего - это файлы, существование которых будет проверяться на диске. Если нужно, чтобы в случае ошибок от бекенда обработка уходила в другой location, то следует пользоваться директивой error_page, см. http://nginx.org/r/error_page/ru. Там, в частности, есть пример такого вида: location / { error_page 404 = @fallback; } location @fallback { proxy_pass http://backend; } Таким образом можно обеспечить произвольную многоуровневую обработку запроса. Чуть более сложный пример есть в описании модуля memcached, http://nginx.org/ru/docs/http/ngx_http_memcached_module.html: location / { set$memcached_key $uri?$args; memcached_pass host:11211; error_page 404 502 504 = @fallback; } location @fallback { proxy_pass http://backend; } В случае, если требуется более одного перенаправления, необходимо также разрешить множественные перенаправления с помощью директивы recursive_error_pages, см. http://nginx.org/r/recursive_error_pages/ru. Ну и не надо забывать, что явно описанная группа серверов сама по себе обеспечивает опрос нужного количества серверов в случае ошибок, см. http://nginx.org/r/proxy_next_upstream/ru. В данном случае было бы логично ввести некий новый уровень абстракции, который описывал бы поведение в случае ошибок. Сейчас с одной стороны в упрощённой форме оно есть в апстриме, с другой стороны оно делается через именованные локейшны (которые размывают исходную идею с обычным локейшнами), увеличивают размер конфига и/или ухудшают его наглядность. Не знаю, как часто это нужно юзерам nginx-а, если часто, то можно было бы подумать про группы апстримов, состоящие из апстримов и описаний поведения переключения с одного апстрима на другой. -- С уважением, Михаил mailto:postmas...@softsearch.ru ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: Откуда ограничение POST запроса 28,5 МБ?
Здравствуйте, meshanja. Не передаёт на Backend большие файлы через POST. Как версия 1.8.0, так и 1.9.3. В конфиге указан «client_max_body_size 1024m;». Но 28,5 МБ – ещё грузится, а 28,6 МБ – уже нет; точнее 10 секунд грузит себе, не передавая, а потом показывает 404. В логах пусто. Посмотрите debug log. Там наверняка будет ответ. -- С уважением, Михаил mailto:postmas...@softsearch.ru ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re[2]: Частичный сброс кеша / сброс кеша для отдельного server_name или location
Здравствуйте, Иван. Задача решена! find путь_до_каталога_с_кешем -type f | xargs grep -ra ключ_по_которому_необходимо_почистить_кеш | grep -ra KEY | cut -f1 -d: | xargs rm -f Есть стандартное решение, которое работает с любым кэшем: nginx-а, memcached-а и т.д. В значение ключа кэширования добавьте счётчик. Отдельный для каждого куска кэша, который хотите вычищать. Когда надо будет вычистить кэш, увеличьте на 1 значение нужного счётчика в тексте конфига и пошлите nginx-у сигнал на перечитывание конфига. Так все ключи изменятся, а старые ключи постепенно вымоются из кэша. -- С уважением, Михаил mailto:postmas...@softsearch.ru ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re[2]: Вопрос по производительности.
Здравствуйте, Anton. 2. общие советы по поводу sysctl: kern.ipc.soacceptqueue=5000 (или больше) Это в десятой Фре появилось? И что значит? -- С уважением, Михаил mailto:postmas...@softsearch.ru ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: Зависает сервер
Здравствуйте, dwow. Есть сервер А, который забирает с сервера Б статический JS файл, методом GET по HTTPS. Проблема такая: если на сервер А возникают траблы с сетью/нагрузкой, т.е. он чень медленно открывается, то за ним следом падает и сервер Б, причем так, что перестает отвечать по SSH. Логи пустые. А какие логи Вы смотрели? -- С уважением, Михаил mailto:postmas...@softsearch.ru ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re[2]: Как вернуть размер проксируемого ответа?
Здравствуйте, Ник. это первое, что пришло мне в голову и, к сожалению, Content-Length не передаётся. Если ответ на GET идёт чанками, то и HEAD не выдаст размер. Отключите чанки (что может быть чревато для больших ответов) и должен появиться Content-Length. -- С уважением, Михаил mailto:postmas...@softsearch.ru ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: Кэширование на tmpfs
Здравствуйте, WolfTheGrey. Файлы, которые должны кэшироваться в tmpfs и так кэшировались бы в оперативке силами операционной системы. Так что класть их в tmpfs не имеет смысла. -- С уважением, Михаил mailto:postmas...@softsearch.ru ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re[2]: nginx-1.9.0
Здравствуйте, Vadim. ``` map $cond1 $var1 { ... } geo $var2 { ... } if ($var1) { deny all; } if ($var2 ~ moo) { deny all; } ``` firewall? -- С уважением, Михаил mailto:postmas...@softsearch.ru ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: MD5 vs SHA-1
Здравствуйте, Gena. Судя по исходникам, nginx использует везде MD5 - и для кеша и для ngx_http_secure_link_module Чтобы испортить кэш, злоумышленнику надо найти множество популярных файлов, для каждого найти коллизию, вытесняющую популярный файл из кэша, и потом одновременно сделать все запросы, вызывающие коллизии. Тогда при запросе популярных файлов будет сделано много запросов к бэкендам и они от этого могут быть перегружены запросами и начать тормозить. Определить, сработала коллизия или нет, можно по времени ответа кэширующего сервера. Т.е. в теории атака через коллизии ИМХО возможна, особенно, если урл может частично формироваться не самим сайтом, а юзерами из вне (через имя файла, например). -- С уважением, Михаил mailto:postmas...@softsearch.ru ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: Большой POST запрос и мгновенный редирект
Здравствуйте, Viacheslav. Вопрос следующий: есть клиентское приложение (сайт), которое отсылает большие (~50MB) посты мультипартом. Хочется на некоторые отсылать редирект: 302 или 307 √ не имеет значения. Но сразу, а не зачитывая/буферезируя реквест боди на прокси. Можно? Могу ошибаться, но по протоколу http 1 ответ отправляется после получения всего запроса. Т.е. нельзя. -- С уважением, Михаил mailto:postmas...@softsearch.ru ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re[2]: nginx-1.7.11
Здравствуйте, Maxim. Отправка файлов в многопоточном режиме поддерживается только на Linux. А на FreeBSD планируется поддержка? Видимо есть какие-то нюансы в ядре которые это сейчас не позволяют реализовать? Что такое отправка файлов я доподлинно не знаю Максим, обратитесь к документации: http://nginx.org/ru/docs/http/ngx_http_core_module.html#aio Кроме того, читать и ОТПРАВЛЯТЬ файлы можно в многопоточном режиме :-) -- С уважением, Михаил mailto:postmas...@softsearch.ru ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re[2]: nginx-1.7.11
Здравствуйте, Maxim. Расскажите, пожалуйста, подробнее про *) Добавление: экспериментальная поддержка потоков. Предполагаю что в каждом child процессе nginx'а теперь несколько thread'ов будет? Появились вспомогательные thread'ы, используемые для выполнения длительных операций (чтения файлов, и их отправки с помощью вызова sendfile). Подробнее тут: http://nginx.org/ru/docs/http/ngx_http_core_module.html#aio А чем они лучше aio-тредов операционки? -- С уважением, Михаил mailto:postmas...@softsearch.ru ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: Журнал запросов для кешированных страниц
Здравствуйте, Romano. Здравствуйте! На сервере настроено кэширование Nginx. До того как запрос будет кеширован, он виден в журнале посещений access_log. Когда сервер выдает кэшированные страницы, то в журнале посещений ничего не регистрируется, поскольку не доходит до директивы задания журнала. Как отслеживать такие запросы? Надо включить их логирование. Приведите, пожалуйста, конфиг nginx-а полностью. Так будет проще всего Вам помочь. -- С уважением, Михаил mailto:postmas...@softsearch.ru ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re[2]: HTTP + HTTPS
Здравствуйте. http://ru.m.wikipedia.org/wiki/HSTS Попробовали, заработало? -- С уважением, Михаил mailto:postmas...@softsearch.ru ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: Запретить использовать SPDY
Здравствуйте, Anton. Это, конечно, немного странный вопрос, но можно ли принудительно запретить на каком-то домене использовать spdy? То есть, принудительно его выключить? К сожалению, убирание spdy из listen не спасает. Если я правильно всё пониманию, то spdy надо специально включать в конфиге nginx-а, чтобы по нему начали ходить. Так что его выключение состоит в не включении. -- С уважением, Михаил mailto:postmas...@softsearch.ru ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: Всем: Платная опция и невозможность использования Nginx под Windows
Здравствуйте, sofiamay. nginx под вендой используется только для тестирования и разработки, а не для обслуживания работающего сайта. Под вендой используйте IIS, если ли уж Вы выбрали венду. -- С уважением, Михаил mailto:postmas...@softsearch.ru ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: nginx-1.7.8
Здравствуйте, Maxim. *) Изменение: теперь строки If-Modified-Since, If-Range и им подобные в заголовке запроса клиента передаются бэкенду при включённом кэшировании, если nginx заранее знает, что не будет кэшировать ответ (например, при использовании proxy_cache_min_uses). А что даёт такое поведение? -- С уважением, Михаил mailto:postmas...@softsearch.ru ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: Два вопроса
Здравствуйте, Sergey. 1. Насколько я понимаю, proxy_сache на скрипт, который возвращает X-Accel-Redirect не поддерживается ? Делайте proxy_pass на скрипт, , который возвращает X-Accel-Redirect. 2. Как можно для одного location выключить функционал real-ip, если set_real_ip_from/real_ip_header заданы для server {}. Пробовал задавать другие real_ip_header и set_real_ip_from - всё равно срабатывает. Через set, например, присвоив пустое значение, если я правильно понял вопрос. -- С уважением, Михаил mailto:postmas...@softsearch.ru ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re[2]: Два вопроса
Здравствуйте, Sergey. 2. Как можно для одного location выключить функционал real-ip, если set_real_ip_from/real_ip_header заданы для server {}. Пробовал задавать другие real_ip_header и set_real_ip_from - всё равно срабатывает. Через set, например, присвоив пустое значение, если я правильно понял вопрос. set чего ? У меня на уровне server {} стоит конструкция set_real_ip, для одного вложенного location нужно выключить механизм real_ip, прямой отключающей директивы нет. Пробовал задавать real_ip_header XXX и set_real_ip_from 1.1.1.1 - всё равно механизм real_ip продолжает работать. set_real_ip устанавливает значение указанной переменной. Через set в локейшне это значение можно очистить. Второй вариант - очистить уже установленное ранее значение заголовка через set_header в локейшне. А вообще, включите debug-лог. В нём видно, что происходит, и должно Вам сильно помочь разобраться в работе nginx-а. -- С уважением, Михаил mailto:postmas...@softsearch.ru ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re[2]: Сброс кэша с помощью ngx_cache_purge
Здравствуйте, Алексей. Большое спасибо за помощь, Валентин! Похоже, надо смотреть в сторону memcached, он в этом смысле более гибкий. А так хотелось малой кровью :) Если Вам нужно весь кэш сбросить, то просто напишите скриптик, который будет перемещать директорию с кэшем в какую-то временную директорию, создавать директорию с кэшем, делать релоад nginx-у и потом удалять временную директорию с кэшем. -- С уважением, Михаил mailto:postmas...@softsearch.ru ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re[2]: CVE-2014-3566, important SSLv3 vulnerability, known as Poodle.
Здравствуйте, Илья. любопытства ради залогировали ssl_protocol, в общем SSLv3 встречается у 0.1% пользователей, разброс операционок от WinXP до Win 8.1 причина, вероятно, в пользовательских антивирусах, которые MITM-ом вклиниваются в TLS. не думаю, чтобы пользователи принудительно убирали себе галочки с TLS и оставляли только SSL Они могут это делать неосознанно, например, когда почему-то пропал инет и они не знают, как его включить обратно, и щёлкают на разные галочки в разных менюшках. -- С уважением, Михаил mailto:postmas...@softsearch.ru ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re[2]: http-хедеры на несколько строчек (баг ?)
Здравствуйте, Илья. у нас клиент - европейский оператор AS2, там всяких согласований и бюрократии - это капец. обосновывать им, что RFC2616 - это deprecated, чтобы они быстро подорвались переписать свой софт на RFC7320, я не смогу. тот факт, что у нас есть платная подписка на nginx, может повлиять на то, что эту штуку пропатчат ? мне несложно патч изобразить, но не хотелось бы таскать за собой кучу локальных патчей. Этот нужный лишь Вам патч, который лично Вам лень таскать, повлияет на скорость парсинга на куче машин. Подумайте сами, нужен ли он nginx-у? Или Вас устроит просто поддержка в работоспособном состоянии Ваших патчей. Также очевидно, что тут смешены вместе 2 разных проблемы: доработка nginx и поддержание этой доработки. За первое деньги берут. А второе, востребованное всеми, кто что-то сам пишет, вроде не входит в подписку, хотя могу ошибаться. Было бы логично сие включить, как дополнительную опцию например, или ещё как-то, но лишь бы оно было, дабы люди не боялись заказывать разработку модулей под nginx, и оставаться потом с этим кодом, как с якорем, тянущим на дно. Сорри, если что-то напутал. -- С уважением, Михаил mailto:postmas...@softsearch.ru ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: nginx-1.7.2
Здравствуйте, Maxim. *) Добавление: дефрагментация свободных блоков разделяемой памяти. Спасибо Wandenberg Peixoto и Yichun Zhang. И есть заметные ускорения от этого? -- С уважением, Михаил mailto:postmas...@softsearch.ru ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re[2]: Как прибить специфических ботов средствами Nginx
Здравствуйте, Nick. Это плохой путь. ип адресов может быть очень много. И чем именно это плохо? Лучше почитать документацию и на map/if сделать правила на заголовки. Прочитать документацию - это всегда самое лучшее. Особенно в данном случае. А правила так можно только простейшие написать. Если понадобится что-то вроде: сначала зашёл на страницу такую-то, а потом запросов к картинкам с реферером предыдущей страницы не было, то как это на map написать? 31.05.2014 23:44, Михаил Монашёв пишет: [...] Пиши лог нужные поля, а в цикле с паузой в секунду грепай этой лог по известным значения, вытаскивай ip и бань по нему силами фаервола. Это почти реально время, не ресурсозатратно и весьма гибко. Со временем можно будет дополнять правила, по которым ip надо вытаскивать. -- С уважением, Михаил mailto:postmas...@softsearch.ru ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: Как прибить специфических ботов средствами Nginx
Здравствуйте, lisua. Как прибить специфических ботов средствами Nginx: 1) Боты шлют строго keep-alive: 300 в http заголовке 2) Другие боты не шлют поля accept_language Какими правилами без включения расширенного логгирования и бана по крону средствами ipset например, можно прибанить ботов, имееться ввиду бан в реальном времени. Данные о характеристиках ботов получены из другого открытого ПО из его логов. Пиши лог нужные поля, а в цикле с паузой в секунду грепай этой лог по известным значения, вытаскивай ip и бань по нему силами фаервола. Это почти реально время, не ресурсозатратно и весьма гибко. Со временем можно будет дополнять правила, по которым ip надо вытаскивать. -- С уважением, Михаил mailto:postmas...@softsearch.ru ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: Nginx и Memcached на одном хосте или отдельно?
Здравствуйте, Brazzford. Здравствуйте! Может, кто ни нибудь, сказать в каких случаях их можно ставить вмести, а в каких нет, и, хотелось бы, узнать почему. А то я не знаю как мне правильно поступить - снимать один VPS или два =( Ставьте на одном. В 99% случаев всё будет ок. Да и пошустрее будет. -- С уважением, Михаил mailto:postmas...@softsearch.ru ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: ngx_http_memcached_module
Здравствуйте, dant4z. Здравствуйте! В одном location есть директивы set $memcached_key blablabla; memcached_pass X.X.X.X:11211; error_page 404 405 500 502 503 504 = @backend; Ключ blablabla лежит в мемкэше. На POST-запрос nginx не обращает внимания на мемкэш и проксирует его на бэкенд. Можно как-нибудь принудить nginx не обращать внимание на это, а если ключ есть, то не проксировать запрос, а взять ответ из мемкеша? Включите и посмотрите debug-лог. Возможно он что-то подскажет. -- С уважением, Михаил mailto:postmas...@softsearch.ru ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Вопрос про merge_slashes
Здравствуйте. В доке http://nginx.org/ru/docs/http/ngx_http_core_module.html#merge_slashes написано Однако из соображений безопасности лучше избегать отключения преобразования. Что именно небезопасного может произойти приmerge_slashes off; Поясню проблему. Сайт сильно спамят. Я настроил правило, которое смотрит лог и если происходит более Х обращений вроде POST /p/add_topic.cgi HTTP/1.1 то ip считается подозрительным. Спамер это просёк и сейчас шлёт запросы вот такие: POST //p/add_topic.cgi HTTP/1.1 Я могу свою парсилку логов поправить, но и с директивой хотелось бы понять проблему. -- С уважением, Михаил mailto:postmas...@softsearch.ru ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re[2]: Вопрос про merge_slashes
Здравствуйте, Илья. спамеров интересует накрутка индексов цитирования. если вы поправите движок форума и вместо прямой ссылки на сайт спамера на форуме будет размещаться ссылка на вашу страничку, на которой будет предупреждение вы хотите перейти по такому-то адресу ?, то спамерам не будет толка от вашего форума. и они от вас отстанут :-) Расскажите это автору вот этого поста: http://beon.ru/discussion/12270-135-rvz-read.shtml -- С уважением, Михаил mailto:postmas...@softsearch.ru ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re[2]: Перенести куки с домена на домен
Здравствуйте, Илья. Вы писали 10 апреля 2014 г., 23:26:38: допустим, что сессионная кука называется session, тогда можно сделать так server { server_name www.old.ru; location / { rewrite ^/(.*)$ http://www.new.ru/$1 permanent; add_header Set-Cookie session=$cookie_session;; } } работать будет не будет работать, ибо эта кука выставится на домен www.old.ru Надо на старом домне делать запросы к новому (например к прозрачной однопиксельной картинке) и в параметрах передавать значения нужных кук, а новом домене получать их из аргументов запроса и устанавливать. В паметры можно передать JS-ом задавать. -- С уважением, Михаил mailto:postmas...@softsearch.ru ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re[3]: Странное поведение с httpready и dataready
Здравствуйте, Vladislav. # grep accept_filter nginx.conf listen xx.xx.xx.57 accept_filter=httpready accept_filter=dataready ; listen xx.xx.xx.60 accept_filter=httpready accept_filter=dataready ; listen xx.xx.xx.58 accept_filter=httpready accept_filter=dataready ; listen xx.xx.xx.56 accept_filter=httpready accept_filter=dataready ; Если я не ошибаюсь, то нет смысла использовать dataready, если есть httpready. Они про одно и тоже, только второй ещё проверяет, что пришедшие данные похожи на HTTP. Тем не менее, сабж очень неприятный - лавинообразный рост мелких пакетов. Хотелось бы выяснить, в этом виноват nginx или модули accf_http+accf_data ? Оставьте один фильтр httpready и весь мусор, не похожий на HTTP до nginx-а не будет доходить. И где этот рост мелких пакетов происходит? Чем они Вам мешают? -- С уважением, Михаил mailto:postmas...@softsearch.ru ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re[2]: Процессная модель
Здравствуйте, Igor. Ввиду отсутствия fork()а на Windows, nginx/Windows запускает новые процессы. Вот там проблемы, так проблемы. Сигналы - это семечки. А есть желание эти проблемы преодолевать? Т.е. есть желание покорять венду с её вендо-админами? -- С уважением, Михаил mailto:postmas...@softsearch.ru ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: 64-bits nginx
Здравствуйте, Андрей. Не надо под виндой запускать nginx для работы сайтов. Под винду сделана версия только для тестирования. Поэтому не важно какая версия nginx-а, хоть 8-битная. -- С уважением, Михаил mailto:postmas...@softsearch.ru ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Распределённое хранение файлов [OFFTOPIC]
Здравствуйте. Расскажите, пожалуйста, как Вы храните много разных файлов, если они на один сервер не влазят? Есть ли специальные инструменты для распространения файлов по серверам, поддержания нужного количества реплик, обхода всех файлов или файлов с каким-то признаком и т.п. -- С уважением, Михаил mailto:postmas...@softsearch.ru ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: Файловое хранилище
Здравствуйте, Pascal2. nginx отдает в 100% статику (файловый архив), несколько сотен коннектов. подскажите как оптимально настроить nginx, что бы снизить нагрузку на дисковую систему (что бы файлы кешировались в памяти). Файловая система обычно сама неплохо справляется с этой проблемой. -- С уважением, Михаил mailto:postmas...@softsearch.ru ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: NGinx - Кеширование динамических запросов
Здравствуйте, Dimka. Есть запросы такого вида: /mail-box-11?clientId=222clientParams=333 /mail-box-11?clientId=888clientParams=009 /mail-box-22?clientId=777clientParams=583 Сейчас NGinx передаёт его в томкат, томкат отдаёт ответ содержащий html страницу сгенерированную по шаблону 11 или 22 а прочие доп параметры clientId=888clientParams=009 юзаются потом javascript ом этой страницы. Хочу кешировать ответы томката, так как на первый и второй запрос ответ одинаков и никогда потом не меняется. (разные только параметры могут быть, но повторю - они на ответ не влияют) Есть идеи как кешировать запрос исходя из /mail-box-11 не беря во внимание то что после ? идёт? Не используйте в ключе кэширования аргументы и всё. -- С уважением, Михаил mailto:postmas...@softsearch.ru ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: Убрать дублированные заголовки
Здравствуйте, DenisM. Добрый день! Nginx в режиме fastcgi к php. Php благодаря разработчикам дублирует куки PHPSESSID и т.п. Можно ли заставить nginx удалять лишние копии кук из заголовка, или только править сырцы? Можно попробовать сначала их удалить, а потом заново выставить. Возможно удаление удалит дубли. -- С уважением, Михаил mailto:postmas...@softsearch.ru ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: Можно ли добавить заголовок с SSL информацией?
Здравствуйте, Dimka. Такая задача, можно ли как-то передать бекенд серверу (apache) информацию о SSL соединении? Хотябы такую SSL_PROTOCOL - The SSL protocol version (SSLv3, TLSv1, TLSv1.1, TLSv1.2) SSL_CIPHER - The cipher specification name SSL_CIPHER_USEKEYSIZE - Number of cipher bits (actually used) http://nginx.org/ru/docs/http/ngx_http_ssl_module.html#variables -- С уважением, Михаил mailto:postmas...@softsearch.ru ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: Исключение записей из access.log
Здравствуйте, Oleg. Вы писали 28 января 2014 г., 16:37:49: Всем привет! Не подскажите, можно ли исключать запись в access.log строк, содержащих определенную подстроку? Например, не логировать запрос с определенным юзер-агентом? if ($http_user_agent ~ MSIE) { access_log off; } http://nginx.org/ru/docs/http/ngx_http_rewrite_module.html#if http://nginx.org/ru/docs/http/ngx_http_log_module.html#access_log -- С уважением, Михаил mailto:postmas...@softsearch.ru ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re[2]: Проблемы с кэшем
Здравствуйте, Михаил. UP -- С уважением, Михаил mailto:postmas...@softsearch.ru ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re[2]: Проблемы с кэшем
Здравствуйте, Maxim. Умозрительно - скорее всего в тех кешах, что начали уменьшаться, по каким-то причинам оказалось много неактивных элементов, и cache manager был занят их чисткой (и посему не следил за размером того кеша, что начал в результате расти). Такого можно добиться, e.g., загрузив кеши с сильно раскаченными параметрами загрузки (loader_files/loader_threshold), и потом не используя часть кешей. Или сильно подвинуть время на машине - эффект будет похожий. Возможно произошло именно это. Неожиданно то, что параметры, относящиеся к кэш-лоадеру, оказывается влияют и на кэш-менеджер. Кэш тем эффективнее, чем больше в нём элементов. Т.е. если на разделе быстрого SSD-диска есть 500 гигов, то хорошо бы под кэш отвести 499 и один оставить под всякие временные директории и подобное. И раз в пол года нужно перезапустить nginx, да так, чтобы он за время перезапуска не занял растущим без кэш-менеджера кэшем оставшееся доступное место. И если даже раз в пол года кэш будет тормозить 5 минут - это ерунда по сравнению с тем, насколько больше файлов в него влезет. Поэтому я стараюсь максимально ускорить загрузку кэша описанными выше параметрами. -- С уважением, Михаил mailto:postmas...@softsearch.ru ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re[2]: Авторизация
Здравствуйте, Pavel. Кто-нибудь может кинуть ссылку на более наглядные объяснения с более человекопонятной схемой, как это ломается? Либо может быть кто-то разъяснит на пальцах, как злоумышленник, имея одну или несколько пар userId + keyedhash сможет сгенерировать пару admin_userId + valid_keyedhash? Полным перебором это ломается. Просто процессоры стали сильно быстрые и многоядерные. SHA1 считается слишком быстро. Почему тогда нет проблемы если использовать HMAC-SHA1 ? Из-за того, что считается sha1 от вычисленного в sha1, что дает сброс внутреннего состояния хеширующей функции? Нет. Вместо конкатенации данных и секретного ключа HMAC размазывает и перемешивает биты ключа по всему хэшу. Двойной sha1 видимо так же ломается. Иначе применяли бы его, а не изобретали HMAC. -- С уважением, Михаил mailto:postmas...@softsearch.ru ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re[2]: Авторизация
Здравствуйте, Maxim. Наиболее наглядное объяснение про собственные MAC'и - это length extension attack на конструкции вида hash(secret || message) (aka secret prefix). http://en.wikipedia.org/wiki/Length_extension_attack Там написано: The SHA-3 algorithm is not susceptible to this attack. Но как всегда, наверное, есть какие-то другие подводные камни... -- С уважением, Михаил mailto:postmas...@softsearch.ru ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re[2]: Авторизация
Здравствуйте, Pavel. Всё просто. Суёшь в авторизационную куку логин пользователя и хэш. А на стороне сервера считаешь хэш от логина, пароля, подсети и salt и смотришь, равен ли он тому, что пришёл в куках. Я не специалист по криптографии, но насколько понимаю просто хэша тут недостаточно, нужен HMAC. В инете на эту тему за 5 минут нашел только такую статью: http://rdist.root.org/2009/10/29/stop-using-unsafe-keyed-hashes-use-hmac/ Но встречал и более наглядные объяснения, почему нельзя в куке для авторизации хранить просто хэш и нужен именно HMAC. Кто-нибудь может кинуть ссылку на более наглядные объяснения с более человекопонятной схемой, как это ломается? Либо может быть кто-то разъяснит на пальцах, как злоумышленник, имея одну или несколько пар userId + keyedhash сможет сгенерировать пару admin_userId + valid_keyedhash? Как ломается, сам пока не разобрался. Но атака ведётся на поиск константной строки, которая конкатенируется к данным (в Вашем случае к userId ). Когда она или её замена найдены, то берётся админский userID, найденная строка и получается подпись для админа. Далее она суётся в куку вместе с id админа и у юзера права админа. -- С уважением, Михаил mailto:postmas...@softsearch.ru ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re[2]: Авторизация
Здравствуйте, Anton. Всё просто. Суёшь в авторизационную куку логин пользователя и хэш. А на стороне сервера считаешь хэш от логина, пароля, подсети и salt и смотришь, равен ли он тому, что пришёл в куках. Я не специалист по криптографии, но насколько понимаю просто хэша тут недостаточно, нужен HMAC. В инете на эту тему за 5 минут нашел только такую статью: http://rdist.root.org/2009/10/29/stop-using-unsafe-keyed-hashes-use-hmac/ Но встречал и более наглядные объяснения, почему нельзя в куке для авторизации хранить просто хэш и нужен именно HMAC. Для HMAC требуется 2 параметра: key и data. В нашем случае авторизации по куке key - это salt, а data - это сконкатенированные логин, пароль, подсеть и юзерагент? Или как? -- С уважением, Михаил mailto:postmas...@softsearch.ru ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re[4]: Авторизация
Здравствуйте, Daniel. Для HMAC требуется 2 параметра: key и data. В нашем случае авторизации по куке key - это salt, а data - это сконкатенированные логин, пароль, подсеть и юзерагент? Или как? у нас есть данные и подпись, в куке. подпись (хеш) сгенерирована с добавлением секретного ключа. берем данные, секретный ключ, генерируем хеш заново. если совпало - данные считаются достоверными. к собственно проверке пароля это отношения не имеет. Ну значит у Вас тоже проблемы с безопасностью. :-) -- С уважением, Михаил mailto:postmas...@softsearch.ru ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re[2]: Авторизация
Здравствуйте, Anton. Всё просто. Суёшь в авторизационную куку логин пользователя и хэш. А на стороне сервера считаешь хэш от логина, пароля, подсети и salt и смотришь, равен ли он тому, что пришёл в куках. Я не специалист по криптографии, но насколько понимаю просто хэша тут недостаточно, нужен HMAC. В инете на эту тему за 5 минут нашел только такую статью: http://rdist.root.org/2009/10/29/stop-using-unsafe-keyed-hashes-use-hmac/ Но встречал и более наглядные объяснения, почему нельзя в куке для авторизации хранить просто хэш и нужен именно HMAC. Огромное спасибо. Я тоже не специалист в криптоанализе и не знал про такие атаки на хэши. И один раз нас так ломали, а я всё думал, как хацкеры SHA256 ломают так быстро. Буквально минуты проходили... Удалось их победить только применив редко используемую хэш-функцию. Но похоже это спасает только от глупых хацкеров, ломающих готовой утилитой и не понимающих её работы. -- С уважением, Михаил mailto:postmas...@softsearch.ru ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: Авторизация
Здравствуйте, oklas. Всё просто. Суёшь в авторизационную куку логин пользователя и хэш. А на стороне сервера считаешь хэш от логина, пароля, подсети и salt и смотришь, равен ли он тому, что пришёл в куках. Можно ещё юзерагента добавить по желанию. Такая авторизация привязывает юзера к его провайдеру и если кто-то сворует куки, они скорее всего не сработают. Ну и для смены мыла и пароля всегда требуешь явно ввести текущий пароль. Хэш-функцию вроде md5 использовать не надо. :-) -- С уважением, Михаил mailto:postmas...@softsearch.ru ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Проблемы с кэшем
Здравствуйте. Есть 3 кэша на разных разделах. Вдруг один из них начал очень быстро расти и кончилось свободное место на разделе, а два других начали так же резко уменьшаться в размерах. При этом nginx иногда был недоступен. А после его рестарта, если смотреть top, то дисковая активность периодически полностью пропадает на несколько секунд и потом снова появлялась. Такое ощущение, что вся ОС блокируется где-то на одной операции чтения с диска. Сам рестарт помог. Место, занятое кэшем освободилось. Чтобы это могло быть? -- С уважением, Михаил mailto:postmas...@softsearch.ru ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: Проблемы с кэшем
Здравствуйте. Вдогонку... nginx version: nginx/1.5.7 configure arguments: --prefix=/usr/local/etc/nginx --with-cc-opt='-I /usr/local/include' --with-ld-opt='-L /usr/local/lib' --conf-path=/usr/local/etc/nginx/nginx.conf --sbin-path=/usr/local/sbin/nginx --pid-path=/var/run/nginx.pid --error-log-path=/var/log/nginx-error.log --user=www --group=www --with-debug --with-file-aio --http-client-body-temp-path=/var/tmp/nginx/client_body_temp --http-fastcgi-temp-path=/var/tmp/nginx/fastcgi_temp --http-proxy-temp-path=/var/tmp/nginx/proxy_temp --http-scgi-temp-path=/var/tmp/nginx/scgi_temp --http-uwsgi-temp-path=/var/tmp/nginx/uwsgi_temp --http-log-path=/var/log/nginx-access.log --with-http_image_filter_module --with-http_stub_status_module --with-pcre Тот факт, что один кэш, описанный в конфиге первым начал терять файлы, а другой, описанный в конфиге третьим, начал их накапливать ИМХО, говорит о какой-то ошибке в коде nginx-а. Сначала думал, что у меня проблемы с дисками, но в логах полная тишина, SMART тоже ничего не кажет. -- С уважением, Михаил mailto:postmas...@softsearch.ru ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re[2]: [PATCH] implemented hardlink option in DAV module
Здравствуйте, Maxim. Это cut-n-paste ошибка в виндовой части кода, которую я поленился проверить и недоправил. Там должно быть date, исправленный патч прилагается. Затестировали сейчас патч, добавляющий метод TOUCH. Лучше поздно, чем никогда. :-) Он работает, но похоже не использует aio. 30 процессов nginx висит в состоянии biord, а при этом запущено всего пяток aiodХХ из сотни возможных. Хотя второе объяснение подобному - это большая вложенность директорий. А третье - aio не умеет работать с директориями. Не знаю, какое верное. К сожалению, aio-операций для создания/открытия файлов - не существует. http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/aio.h.html В libuv , поверх которой Node.JS, все файловые операции, включая открытие файла, асинхронные: http://nodejs.org/api/fs.html#fs_fs_open_path_flags_mode_callback . Не знаю, правда, как они там внутри это сделали... -- С уважением, Михаил mailto:postmas...@softsearch.ru ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re[2]: [PATCH] implemented hardlink option in DAV module
Здравствуйте, Maxim. Это cut-n-paste ошибка в виндовой части кода, которую я поленился проверить и недоправил. Там должно быть date, исправленный патч прилагается. Затестировали сейчас патч, добавляющий метод TOUCH. Лучше поздно, чем никогда. :-) Он работает, но похоже не использует aio. 30 процессов nginx висит в состоянии biord, а при этом запущено всего пяток aiodХХ из сотни возможных. Хотя второе объяснение подобному - это большая вложенность директорий. А третье - aio не умеет работать с директориями. Не знаю, какое верное. -- С уважением, Михаил mailto:postmas...@softsearch.ru ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re[2]: Отдача больших файлов
Здравствуйте, Anton. Вот тут об этом хорошо и подробно написано: http://goo.gl/Szvbiy Очень остроумно. За 4 минуты 6 переходов, однако! :-) Кстати, Вы забыли указать в запросе ещё два слова - ОС и ФС. Но боюсь, что меня больше интересует практический опыт людей, присутствующих в данной рассылке, именно поэтому письмо и было написано (что нисколько не отменяет поисковых запросов). А все, кто писал ранее, - теоретики, не стоящие Вашего внимания. -- С уважением, Михаил mailto:postmas...@softsearch.ru ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re[2]: Отдача больших файлов
Здравствуйте, Anton. Да, КС site: я вижу. Забыл уточнить, что интересует более новый опыт, нежели 2009-го года, коих результатов больше всего. ;) Всё с точностью до наоборот. Раньше и зима была больше на зиму похожа. И девки краше. Особенно в 2009-ом. А сейчас уже всё не то, что раньше. -- С уважением, Михаил mailto:postmas...@softsearch.ru ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
freebsd network tuning
Здравствуйте. С того момента, когда Игорь рассказывал про тюнинг FreeBSD изменилось и добавилось немного интересного. Вот нашёл статью: https://calomel.org/freebsd_network_tuning.html Признаюсь, что не заметил каких-то ощутимых ускорений от этого тюнинга, но вдруг кому-то надо 10 гигабит раздавать... -- С уважением, Михаил mailto:postmas...@softsearch.ru ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re[2]: COPY и несуществующая директория = 500 Internal Server Error
Здравствуйте, Maxim. То, что у тебя сломался open(), намекает на то, что в процессе выполнения этого запроса кто-то удалил каталог. Каталоги там никто не удаляет точно. Вся работа идёт через nginx, а он удалять каталоги не умеет и на встроенном перле у меня ничего не написано. И ошибка эта воспроизводится не всегда. Вообще-то, nginx удалять каталоги умеет, нужно просто правильно попросить. Но это не твой случай, см. ниже. Даже не пустые? ;-) 2013/12/29 14:00:55 [debug] 78336#0: *10484311 http copy from: /opt2/beon/i41//43/96/1009643/avatars/9.gif 2013/12/29 14:00:55 [debug] 78336#0: *10484311 http copy to: /opt2/beon/i41/43/96/1009643/43/avatars/9.gif.tmp 2013/12/29 14:00:55 [debug] 78336#0: *10484311 malloc: 000806E68000:65536 2013/12/29 14:00:55 [crit] 78336#0: *10484311 open() /opt2/beon/i41/43/96/1009643/43/avatars/9.gif.tmp failed (2: No such file or directory), client: 89.208.146.210, server: i41.beon.ru, request: COPY http://b.i41.beon.ru/43/96/1009643/43/avatars/9.gif HTTP/1.1, host: b.i41.beon.ru Из вышепроцитированного более или менее очевидно, что копируют существующий файл, однако в несуществующий каталог. Таки разглядел этот несуществующий каталог. Спасибо. Возврат 500 в подобной ситуации - не то чтобы лучшее из возможного, но как минимум объясним. Ну раз ошибки нет и 500 - правильный ответ, то тему можно считать закрытой. IMHO, это классическая иллюстрация к соседнему треду про rewrite'ы. :) Эх, если б всё было просто... :-) Да, сложность конфигов со всеми этими заменами растёт экспоненциально и уже думаешь не как сделать, а как сделать, чтобы не вводить ещё один уровень сложности. -- С уважением, Михаил mailto:postmas...@softsearch.ru ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re[2]: COPY и несуществующая директория = 500 Internal Server Error
Здравствуйте, Maxim. Бага или фича? Если через WebDAV копируется несуществующий файл в существующей директории, то выдаётся 404. Но если копируется файл из несуществующей директории в неё же, то выдаётся 500 - Internal Server Error. Это правильное поведение или должно 404 тоже выдаваться? Если исходный файл/каталог не сущетсвует, то в любом случае должно выдаваться 404. Пример: копируем http://i39.beon.ru/17/74/1467417/47/avatars/4.jpeg в http://i39.beon.ru/17/74/1467417/47/avatars/4.jpeg.tmp и получаем: 500 Internal Server Error в error_log-е: 2013/12/28 11:54:28 [crit] 2845#0: *4749150 open() /opt2/beon/i39/17/74/1467417/47/avatars/4.jpeg.tmp failed (2: No such file or directory), client: 89.208.146.210, server: i39.beon.ru, request: COPY http://i39.beon.ru/17/74/1467417/47/avatars/4.jpeg HTTP/1.1, host: i39.beon.ru в access.log-e: 28/Dec/2013:11:54:28 +0400 500 89.208.146.210 353 i39.beon.ru COPY http://i39.beon.ru/17/74/1467417/47/avatars/4.jpeg HTTP/1.1 - - - - - - close Должно быть так: 2013/12/28 16:51:35 [error] 33014#0: *1 lstat() /path/to/foo/bar/bazz failed (2: No such file or directory), client: 127.0.0.1, server: , request: COPY /foo/bar/bazz HTTP/1.1, host: localhost 127.0.0.1 - - [28/Dec/2013:16:51:35 +0400] COPY /foo/bar/bazz HTTP/1.1 404 168 - - То, что у тебя сломался open(), намекает на то, что в процессе выполнения этого запроса кто-то удалил каталог. Каталоги там никто не удаляет точно. Вся работа идёт через nginx, а он удалять каталоги не умеет и на встроенном перле у меня ничего не написано. И ошибка эта воспроизводится не всегда. Ошибка: Couldn't copy http://b.i41.beon.ru/43/96/1009643/43/avatars/9.gif = http://b.i41.beon.ru/43/96/1009643/43/avatars/9.gif.tmp: 500 Internal Server Error Посмотрел debug-лог. Я там тоже накрутил с конфигом, но 500 всёравно быть не должно ИМХО: 2013/12/29 14:00:55 [debug] 78336#0: *10484311 accept: 89.208.146.210 fd:4 2013/12/29 14:00:55 [debug] 78336#0: *10484311 post event 0008032442A0 2013/12/29 14:00:55 [debug] 78336#0: *10484311 delete posted event 0008032442A0 2013/12/29 14:00:55 [debug] 78336#0: *10484311 http wait request handler 2013/12/29 14:00:55 [debug] 78336#0: *10484311 posix_memalign: 00080303E300:256 @16 2013/12/29 14:00:55 [debug] 78336#0: *10484311 malloc: 000803007800:1024 2013/12/29 14:00:55 [debug] 78336#0: *10484311 recv: eof:0, avail:1, err:0 2013/12/29 14:00:55 [debug] 78336#0: *10484311 recv: fd:4 188 of 1024 2013/12/29 14:00:55 [debug] 78336#0: *10484311 reusable connection: 0 2013/12/29 14:00:55 [debug] 78336#0: *10484311 posix_memalign: 00080308F000:4096 @16 2013/12/29 14:00:55 [debug] 78336#0: *10484311 http process request line 2013/12/29 14:00:55 [debug] 78336#0: *10484311 http request line: COPY http://b.i41.beon.ru/43/96/1009643/43/avatars/9.gif HTTP/1.1 2013/12/29 14:00:55 [debug] 78336#0: *10484311 http uri: /43/96/1009643/43/avatars/9.gif 2013/12/29 14:00:55 [debug] 78336#0: *10484311 http args: 2013/12/29 14:00:55 [debug] 78336#0: *10484311 http exten: gif 2013/12/29 14:00:55 [debug] 78336#0: *10484311 http process request header line 2013/12/29 14:00:55 [debug] 78336#0: *10484311 http header: Connection: close 2013/12/29 14:00:55 [debug] 78336#0: *10484311 http header: Host: b.i41.beon.ru 2013/12/29 14:00:55 [debug] 78336#0: *10484311 http header: Command-ID: 1 2013/12/29 14:00:55 [debug] 78336#0: *10484311 http header: Destination: http://b.i41.beon.ru/43/96/1009643/43/avatars/9.gif.tmp; 2013/12/29 14:00:55 [debug] 78336#0: *10484311 http header done 2013/12/29 14:00:55 [debug] 78336#0: *10484311 generic phase: 0 2013/12/29 14:00:55 [debug] 78336#0: *10484311 rewrite phase: 1 2013/12/29 14:00:55 [debug] 78336#0: *10484311 posix_memalign: 000803091000:4096 @16 2013/12/29 14:00:55 [debug] 78336#0: *10484311 http script regex: ^(/\d+/\d+/\d+/)\d+/(avatars/.+|design/.+|0\.(?:gif|jpeg|png|mp3))$ 2013/12/29 14:00:55 [notice] 78336#0: *10484311 ^(/\d+/\d+/\d+/)\d+/(avatars/.+|design/.+|0\.(?:gif|jpeg|png|mp3))$ matches /43/96/1009643/43/avatars/9.gif, client: 89.208.146.210, server: i41.beon.ru, request: COPY http://b.i41.beon.ru/43/96/1009643/43/avatars/9.gif HTTP/1.1, host: b.i41.beon.ru 2013/12/29 14:00:55 [debug] 78336#0: *10484311 http script copy: / 2013/12/29 14:00:55 [debug] 78336#0: *10484311 http script capture: /43/96/1009643/ 2013/12/29 14:00:55 [debug] 78336#0: *10484311 http script capture: avatars/9.gif 2013/12/29 14:00:55 [debug] 78336#0: *10484311 http script regex end 2013/12/29 14:00:55 [notice] 78336#0: *10484311 rewritten data: //43/96/1009643/avatars/9.gif, args: , client: 89.208.146.210, server: i41.beon.ru, request: COPY http://b.i41.beon.ru/43/96/1009643/43/avatars/9.gif HTTP/1.1, host: b.i41.beon.ru 2013/12/29 14:00:55 [debug] 78336#0: *10484311 test location: / 2013/12/29 14:00:55 [debug] 78336#0: *10484311 test location: robots.txt 2013/12/29 14:00:55 [debug] 78336#0: *10484311
Re: Системные сбои в виртуалке VMware FreeBSD+Nginx+proxy cache+tmpfs
Здравствуйте, Dmitriy_K. У меня была подобная проблема после перехода на FreeBSD 9.2. Пришлось вернуться на 9.1. -- С уважением, Михаил mailto:postmas...@softsearch.ru ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: Вирус в бинарнике nginx
Здравствуйте Включите дебаг-лог и найдите в нём хотя бы один такой редирект. Если будут вопросы, то скиньте кусок лога сюда. -- С уважением, Михаил mailto:postmas...@softsearch.ru ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: Несколько сайтов в одном домене
Здравствуйте, ZERGEV. Есть домен: http://example.com Нужно сделать несколько независимых сайтов на WordPress. URL должны быть вида: http://example.com/tiger http://example.com/lynx http://example.com/lion По каждой ссылке будет установлен WordPress. Для начала не могу понять что писать в server_name для каждого из сайтов example.com и как вообще их разграничить. по location-ам . -- С уважением, Михаил mailto:postmas...@softsearch.ru ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: Требуется написать модуль за плату.
Здравствуйте, Vasily. Есть ТЗ, но всё можно обсудить и изменить работу backend'а, как будет удобнее Вам. Прошу писать на maintai...@daemon.io или в Skype: gf.at.hackweb. Ответы в рассылке так же мониторю. Очень надеюсь на отклик! Благодарю заранее. Вдогонку... А Вы писали разработчика nginx-а? Они кроме всего прочего занимаются бизнесом и за деньги наверняка напишут. Или скажут как решить Вашу задачу иначе. P.S. Я бы стал городить модуль лишь в самом крайнем случае. Ибо ему 100% понадобится поддержка, за которую придётся вечно платить. Оно Вам надо? -- С уважением, Михаил mailto:postmas...@softsearch.ru ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: Nginx 1.4.2 + Mod security 2.7.5 + Apache 2.2.22 - Проблемы с кодировкой.
Здравствуйте, shtein. А зачем Вам ModSecurity нужен? Какую задачу он решает? Включите дебаг-лог в nginx-е и увидите что там внутри происходит с кодировкой. -- С уважением, Михаил mailto:postmas...@softsearch.ru ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re: nginx-1.5.4
Здравствуйте, Maxim. *) Изменение: теперь директива image_filter с параметром size возвращает ответ с MIME-типом application/json. Не касабельно релиза. А просто вспомнилось. В документации для image_filter для resize написано неверное слово уменьшает. Если я правильно понимаю, то resize может и увеличивать, если ему передано изображение меньше, чем указано после resize. -- С уважением, Михаил mailto:postmas...@softsearch.ru ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re[2]: nginx + memcached + pecl-memcache compression
Здравствуйте, Gena. pecl-memcache сжимает данные в формате zlib (RFC1950), а nginx ожидает gzip (RFC1952). Можно ли ожидать появления в nginx модулем memcached поддержки zlib формата? Нет. тогда у всех остается единственный возможный вариант - сделать так, чтобы pecl-memcache научился сжимать данные в формате gzip (RFC1952). Не у всех. Мне это не нужно, например. А вообще проблема давняя и вроде даже тогда решённая какими-то патчами. Гугл в помощь, короче. -- С уважением, Михаил mailto:postmas...@softsearch.ru ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru
Re[2]: set на уровне http
Здравствуйте, Gena. если будут включены set на уровне http - их активно начнут использовать ...as macros for making parts of configuration work as templates. Мне вот это и не понятно. Как можно какие-то шаблоны в конфиге городить? Может я неверно перевожу на русский слово template, или не понимаю смысла шаблон. Поясните, пожалуйста, как делать эти шаблоны, и чем они плохи? -- С уважением, Михаил mailto:postmas...@softsearch.ru ___ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru