Re: количество и размер бакетов

2020-01-16 Пенетрантность Михаил Монашёв
Здравствуйте, 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: количество и размер бакетов

2020-01-15 Пенетрантность Михаил Монашёв
Здравствуйте, 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

количество и размер бакетов

2020-01-14 Пенетрантность Михаил Монашёв
Здравствуйте.

У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

2019-11-12 Пенетрантность Михаил Монашёв
Здравствуйте, 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

2019-11-11 Пенетрантность Михаил Монашёв
Здравствуйте, 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

2019-11-11 Пенетрантность Михаил Монашёв
Здравствуйте.

Оказалось, что 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

2019-06-14 Пенетрантность Михаил Монашёв
Здравствуйте, 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 по скорость

2018-07-27 Пенетрантность Михаил Монашёв
Здравствуйте, 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/

2017-12-27 Пенетрантность Михаил Монашёв
Здравствуйте, Валентин.

> Будут приняты меры чтобы этого больше не повторялось.

Хорошо бы ещё спам в листе победить.

С уважением,
 Михаил  mailto:postmas...@softsearch.ru

___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: Зависание nginx из-за memcached

2016-05-24 Пенетрантность Михаил Монашёв
Здравствуйте, 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

2016-05-23 Пенетрантность Михаил Монашёв
Здравствуйте, 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

2016-05-23 Пенетрантность Михаил Монашёв
Здравствуйте, 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

2016-02-24 Пенетрантность Михаил Монашёв
Здравствуйте, 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 отъедает все процессорное время

2016-02-24 Пенетрантность Михаил Монашёв
Здравствуйте, Валентин.

> Можно настроить дебаг лог в памяти:
> 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: модуль на заказ

2016-02-23 Пенетрантность Михаил Монашёв
Здравствуйте, 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: Обновление бинарника и кэш

2016-02-17 Пенетрантность Михаил Монашёв
Здравствуйте, 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

2016-02-10 Пенетрантность Михаил Монашёв
Здравствуйте, 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 и прокси

2016-02-03 Пенетрантность Михаил Монашёв
Здравствуйте, Илья.

Он пишется в заголовок 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 и прокси

2016-02-02 Пенетрантность Михаил Монашёв
Здравствуйте, Илья.

> а в чем полезность того факта, что мы можем определить, что запрос
> пришел через Яндекс или Оперу турбо?

Узнаем настоящее ip юзера.

-- 
С уважением,
 Михаил  mailto:postmas...@softsearch.ru

___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: geo2nginx.pl

2016-02-02 Пенетрантность Михаил Монашёв
Здравствуйте, Михаил.

Прошу прощения, база в старом формате лежит тут: 
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

2016-02-01 Пенетрантность Михаил Монашёв
Здравствуйте.

В составе дистрибутива идёт реально не работающий скрипт. Формат базы
MaxMind-а поменялся.

-- 
С уважением,
 Михаил  mailto:postmas...@softsearch.ru

___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: добавить uri к проскипасу

2016-01-29 Пенетрантность Михаил Монашёв
Здравствуйте, 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 и прокси

2016-01-22 Пенетрантность Михаил Монашёв
Здравствуйте, Илья.

Раньше были 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 и прокси

2016-01-21 Пенетрантность Михаил Монашёв
Здравствуйте, Андрей.

> Есть ли какая-нибудь возможность не имея списка прокси определять
> $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 и прокси

2016-01-21 Пенетрантность Михаил Монашёв
Здравствуйте, Андрей.

>> у меня вот так сейчас. Подсети яндекса давно не обновлял. 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

2015-12-11 Пенетрантность Михаил Монашёв
Здравствуйте, 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

2015-12-11 Пенетрантность Михаил Монашёв
Здравствуйте, 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

2015-10-03 Пенетрантность Михаил Монашёв
Здравствуйте, 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

2015-09-23 Пенетрантность Михаил Монашёв
Здравствуйте, 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

2015-09-23 Пенетрантность Михаил Монашёв
Здравствуйте, 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

2015-09-23 Пенетрантность Михаил Монашёв
Здравствуйте, 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

2015-09-23 Пенетрантность Михаил Монашёв
Здравствуйте, 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

2015-09-22 Пенетрантность Михаил Монашёв
Здравствуйте, 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

2015-09-22 Пенетрантность Михаил Монашёв
Здравствуйте, 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

2015-08-28 Пенетрантность Михаил Монашёв
Здравствуйте.

 Возникла необходимость спрятать доступ до административной части сайта за
 конкретный 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

2015-08-12 Пенетрантность Михаил Монашёв
Здравствуйте, 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 МБ?

2015-07-18 Пенетрантность Михаил Монашёв
Здравствуйте, 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

2015-07-16 Пенетрантность Михаил Монашёв
Здравствуйте, Иван.

 Задача решена!


 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]: Вопрос по производительности.

2015-06-11 Пенетрантность Михаил Монашёв
Здравствуйте, 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: Зависает сервер

2015-05-26 Пенетрантность Михаил Монашёв
Здравствуйте, 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]: Как вернуть размер проксируемого ответа?

2015-05-25 Пенетрантность Михаил Монашёв
Здравствуйте, Ник.

 это  первое,  что пришло мне в голову и, к сожалению, 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

2015-05-04 Пенетрантность Михаил Монашёв
Здравствуйте, 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

2015-05-01 Пенетрантность Михаил Монашёв
Здравствуйте, 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

2015-04-12 Пенетрантность Михаил Монашёв
Здравствуйте, 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 запрос и мгновенный редирект

2015-03-30 Пенетрантность Михаил Монашёв
Здравствуйте, 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

2015-03-25 Пенетрантность Михаил Монашёв
Здравствуйте, 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

2015-03-25 Пенетрантность Михаил Монашёв
Здравствуйте, 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: Журнал запросов для кешированных страниц

2015-02-25 Пенетрантность Михаил Монашёв
Здравствуйте, 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

2015-01-18 Пенетрантность Михаил Монашёв
Здравствуйте.

 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

2015-01-17 Пенетрантность Михаил Монашёв
Здравствуйте, 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

2014-12-16 Пенетрантность Михаил Монашёв
Здравствуйте, 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

2014-12-03 Пенетрантность Михаил Монашёв
Здравствуйте, 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: Два вопроса

2014-11-25 Пенетрантность Михаил Монашёв
Здравствуйте, 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]: Два вопроса

2014-11-25 Пенетрантность Михаил Монашёв
Здравствуйте, 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

2014-11-07 Пенетрантность Михаил Монашёв
Здравствуйте, Алексей.

 Большое спасибо за помощь, Валентин!
 Похоже,  надо  смотреть  в сторону 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.

2014-10-16 Пенетрантность Михаил Монашёв
Здравствуйте, Илья.

 любопытства ради залогировали 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-хедеры на несколько строчек (баг ?)

2014-09-23 Пенетрантность Михаил Монашёв
Здравствуйте, Илья.

 у нас клиент - европейский оператор 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

2014-06-18 Пенетрантность Михаил Монашёв
Здравствуйте, 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

2014-06-01 Пенетрантность Михаил Монашёв
Здравствуйте, 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

2014-05-31 Пенетрантность Михаил Монашёв
Здравствуйте, 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 на одном хосте или отдельно?

2014-05-28 Пенетрантность Михаил Монашёв
Здравствуйте, 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

2014-05-06 Пенетрантность Михаил Монашёв
Здравствуйте, 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

2014-04-25 Пенетрантность Михаил Монашёв
Здравствуйте.

В доке 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

2014-04-25 Пенетрантность Михаил Монашёв
Здравствуйте, Илья.

 спамеров интересует накрутка индексов цитирования.
 если вы поправите движок форума и вместо прямой ссылки на сайт спамера
 на форуме будет размещаться ссылка на вашу страничку, на которой будет
 предупреждение вы хотите перейти по такому-то адресу ?, то спамерам
 не будет толка от вашего форума. и они от вас отстанут :-)

Расскажите это автору вот этого поста: 
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]: Перенести куки с домена на домен

2014-04-10 Пенетрантность Михаил Монашёв
Здравствуйте, Илья.

Вы писали 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

2014-03-30 Пенетрантность Михаил Монашёв
Здравствуйте, 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]: Процессная модель

2014-03-01 Пенетрантность Михаил Монашёв
Здравствуйте, 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

2014-02-21 Пенетрантность Михаил Монашёв
Здравствуйте, Андрей.

Не  надо  под  виндой  запускать  nginx  для  работы сайтов. Под винду
сделана  версия только для тестирования. Поэтому не важно какая версия
nginx-а, хоть 8-битная.

-- 
С уважением,
 Михаил  mailto:postmas...@softsearch.ru

___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Распределённое хранение файлов [OFFTOPIC]

2014-02-16 Пенетрантность Михаил Монашёв
Здравствуйте.

Расскажите,  пожалуйста,  как Вы храните много разных файлов, если они
на  один  сервер  не  влазят?  Есть  ли  специальные  инструменты  для
распространения  файлов  по  серверам,  поддержания нужного количества
реплик, обхода всех файлов или файлов с каким-то признаком и т.п.

-- 
С уважением,
 Михаил  mailto:postmas...@softsearch.ru

___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: Файловое хранилище

2014-02-07 Пенетрантность Михаил Монашёв
Здравствуйте, 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 - Кеширование динамических запросов

2014-02-04 Пенетрантность Михаил Монашёв
Здравствуйте, 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: Убрать дублированные заголовки

2014-01-31 Пенетрантность Михаил Монашёв
Здравствуйте, 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 информацией?

2014-01-28 Пенетрантность Михаил Монашёв
Здравствуйте, 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

2014-01-28 Пенетрантность Михаил Монашёв
Здравствуйте, 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]: Проблемы с кэшем

2014-01-27 Пенетрантность Михаил Монашёв
Здравствуйте, Михаил.

UP


-- 
С уважением,
 Михаил  mailto:postmas...@softsearch.ru

___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re[2]: Проблемы с кэшем

2014-01-27 Пенетрантность Михаил Монашёв
Здравствуйте, 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]: Авторизация

2014-01-24 Пенетрантность Михаил Монашёв
Здравствуйте, 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]: Авторизация

2014-01-24 Пенетрантность Михаил Монашёв
Здравствуйте, 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]: Авторизация

2014-01-23 Пенетрантность Михаил Монашёв
Здравствуйте, 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]: Авторизация

2014-01-22 Пенетрантность Михаил Монашёв
Здравствуйте, 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]: Авторизация

2014-01-22 Пенетрантность Михаил Монашёв
Здравствуйте, 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]: Авторизация

2014-01-21 Пенетрантность Михаил Монашёв
Здравствуйте, 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: Авторизация

2014-01-20 Пенетрантность Михаил Монашёв
Здравствуйте, oklas.

Всё  просто.  Суёшь в авторизационную куку логин пользователя и хэш. А
на  стороне  сервера  считаешь хэш от логина, пароля, подсети и salt и
смотришь,  равен  ли он тому, что пришёл в куках. Можно ещё юзерагента
добавить  по  желанию.  Такая  авторизация  привязывает  юзера  к  его
провайдеру  и если кто-то сворует куки, они скорее всего не сработают.
Ну  и  для  смены  мыла  и  пароля всегда требуешь явно ввести текущий
пароль.

Хэш-функцию вроде md5 использовать не надо. :-)

-- 
С уважением,
 Михаил  mailto:postmas...@softsearch.ru

___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Проблемы с кэшем

2014-01-19 Пенетрантность Михаил Монашёв
Здравствуйте.

Есть  3  кэша на разных разделах. Вдруг один из них начал очень быстро
расти  и кончилось свободное место на разделе, а два других начали так
же резко уменьшаться в размерах. При этом nginx иногда был недоступен.
А  после  его  рестарта,  если  смотреть  top,  то дисковая активность
периодически  полностью  пропадает  на  несколько секунд и потом снова
появлялась.  Такое  ощущение,  что  вся ОС блокируется где-то на одной
операции  чтения  с  диска.  Сам  рестарт  помог. Место, занятое кэшем
освободилось.

Чтобы это могло быть?

-- 
С уважением,
 Михаил  mailto:postmas...@softsearch.ru

___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: Проблемы с кэшем

2014-01-19 Пенетрантность Михаил Монашёв
Здравствуйте.

Вдогонку...

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

2014-01-15 Пенетрантность Михаил Монашёв
Здравствуйте, 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

2014-01-14 Пенетрантность Михаил Монашёв
Здравствуйте, 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]: Отдача больших файлов

2014-01-13 Пенетрантность Михаил Монашёв
Здравствуйте, 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]: Отдача больших файлов

2014-01-13 Пенетрантность Михаил Монашёв
Здравствуйте, 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

2014-01-12 Пенетрантность Михаил Монашёв
Здравствуйте.

С  того момента, когда Игорь рассказывал про тюнинг 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

2013-12-30 Пенетрантность Михаил Монашёв
Здравствуйте, 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

2013-12-29 Пенетрантность Михаил Монашёв
Здравствуйте, 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

2013-12-16 Пенетрантность Михаил Монашёв
Здравствуйте, 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

2013-12-03 Пенетрантность Михаил Монашёв
Здравствуйте

Включите  дебаг-лог  и найдите в нём хотя бы один такой редирект. Если
будут вопросы, то скиньте кусок лога сюда.

-- 
С уважением,
 Михаил  mailto:postmas...@softsearch.ru

___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: Несколько сайтов в одном домене

2013-11-07 Пенетрантность Михаил Монашёв
Здравствуйте, 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: Требуется написать модуль за плату.

2013-09-13 Пенетрантность Михаил Монашёв
Здравствуйте, 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 - Проблемы с кодировкой.

2013-08-28 Пенетрантность Михаил Монашёв
Здравствуйте, 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

2013-08-27 Пенетрантность Михаил Монашёв
Здравствуйте, 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

2013-08-22 Пенетрантность Михаил Монашёв
Здравствуйте, 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

2013-08-19 Пенетрантность Михаил Монашёв
Здравствуйте, 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

  1   2   >