Re: уникальность переменной $request_id

2017-08-15 Пенетрантность Maxim Dounin
Hello!

On Tue, Aug 15, 2017 at 04:33:23PM +0300, Иван Мишин wrote:

> В документации как-то мало описания на эту тему. Хочется знать какова
> повторяемость этой переменной?
> И какой шанс повторяемости в случае использования пула nginx серверов
> (например 6 штук), есть ли какие-то факты или предположения о том с какой
> вероятностью могут сгенериться одинаковые айдишники на разных nginx
> серверах?
> В общем просьба раскрыть тему к ого есть достаточные знание об этой
> переменной.

В документации же чётко и однозначно написано: 16 случайных байт.

С математической точки зрения это значит, что вероятность получить 
совпадение двух произвольно выбранных $request_id, вне зависимости 
от их происхождения, составляет 1 : 2^128 - 1.  Если записывать 
все встречающиеся на пути $request_id, то встретить два одинаковых 
можно где-то после того, как накопите их 2^64 штук.

Подробнее о том, в каких случаях и с какой вероятностью можно 
ожидать возникновения коллизий, можно прочитать тут:

https://ru.wikipedia.org/wiki/Парадокс_дней_рождения

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

уникальность переменной $request_id

2017-08-15 Пенетрантность Иван Мишин
В документации как-то мало описания на эту тему. Хочется знать какова
повторяемость этой переменной?
И какой шанс повторяемости в случае использования пула nginx серверов
(например 6 штук), есть ли какие-то факты или предположения о том с какой
вероятностью могут сгенериться одинаковые айдишники на разных nginx
серверах?
В общем просьба раскрыть тему к ого есть достаточные знание об этой
переменной.
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: Наследование директив

2017-08-15 Пенетрантность Maxim Dounin
Hello!

On Tue, Aug 15, 2017 at 04:19:41AM -0400, igor.goncharenko wrote:

> Вопрос, наверное, был о том - нужно ли переназначать ВСЕ proxy_ директивы на
> данном уровне (как для заголовков) или наследование работает для каждой
> proxy_ директивы отдельно?

Не надо думать, что для заголовков действуют какие-то особые 
правила.  Наоборот, тут действует простое общее правило: значение, 
заданое конкретной директивой, наследуется с предыдущего уровня, 
если на данном уровне эта директива не используется.

Соответственно, если вы использовали на данном уровне директиву 
proxy_set_header - то заданные на предыдущих уровнях заголовки 
наследоваться не будут (а если не использовали - будут).  
Аналогично и для proxy_read_timeout - если она на данном уровне 
используется, то наследования не будет, а если нет - то будет 
наследоваться значения с предыдущего уровня.  И то же самое для 
практически всех директив.

Исключения бывают, но они редки и при этом очевидны.  Скажем, 
директивы allow и deny задают список правил, и указание любой из 
них приводит к отмене наследования всего списка правил.  А 
некоторые директивы не наследуются, как то: try_files, инструкции 
модуля rewrite (rewrite, if, set, break, return), директивы, 
устанавливающие обработчики в конкретном location'е (proxy_pass, 
fastcgi_pass, scgi_pass, uwsgi_pass, memcached_pass, flv, mp4, 
empty_gif, stub_status).  И это наверное всё, если говорить про 
исключния, для всего остального - действует общее правило.

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

Re: Наследование директив

2017-08-15 Пенетрантность igor.goncharenko
Вопрос, наверное, был о том - нужно ли переназначать ВСЕ proxy_ директивы на
данном уровне (как для заголовков) или наследование работает для каждой
proxy_ директивы отдельно?


---
Igor

Posted at Nginx Forum: 
https://forum.nginx.org/read.php?21,275849,276065#msg-276065

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