Welcome! Log In Create A New Profile

Advanced

Re: allow/deny and return

Maxim Dounin
October 16, 2013 02:20PM
Hello!

On Wed, Oct 16, 2013 at 09:25:19PM +0400, Ruslan Ermilov wrote:

[...]

> > В документации на rewrite:
> > http://nginx.org/en/docs/http/ngx_http_rewrite_module.html не нашел явное
> > указание на то, что директивы этого модуля выполняются до модулей access-фазы
> > (ngx_http_access_module,ngx_http_auth_basic_module, ngx_http_auth_request_module).
> >
> > Если знать внутреннюю архитектуру nginx то это очевидно, но прочитав только
> > документацию на ngx_http_rewrite_module и ngx_http_access_module догадаться
> > будет сложно.
>
> То, что в описанном тобой случае директива access "не выполняется",
> можно понять, прочитав раздел "Внутреннее устройство", нюанс про
> директиву limit_rate.

IMHO, и из последовательности обработки директив в самом начале
описания модуля - тоже понятно, что до выполнения директив модуля
rewrite - location не выбран, и директивы модуля access не имеют
шанса примениться до rewrite'ов.

С другой стороны - никто не мешает построить систему, в которой
между find config и location rewrite стоит проверка access, и
тогда та же схема - лишь слегка отличается от реальности (а от
реальности она и сейчас слегка отличается, т.к. могут быть ещё и
3rd party модули в rewrite-фазе), но allow/deny работают до
return. Не будут работать всякие другие вещи, но это уже детали.

[...]

> Надо донести мысль о том, что rewrite (включая ВСЕ его директивы) -
> это процесс поиска location'а. При обработке запроса сначала выполняется
> поиск location'а по URI, затем выполняются директивы модуля rewrite (и
> только они!) для данного location'а (*), в рез-те location может измениться,
> процесс повторяется. Также в процессе поиска location'а выполнение
> запроса может и вовсе завершиться (return, rewrite redirect).
> И лишь потом, когда найден конечный location, "выполняются" остальные
> директивы, включая access-модули.

Да-да, как-то так.

[...]

> Возможно достаточно будет переформулировать это так:
>
> < Директивы модуля ngx_http_rewrite_module обрабатываются в следующем порядке:
>
> > Обработка запроса начинается с выполнения директив модуля ngx_http_rewrite_module.
> > Директивы обрабатываются в следующем порядке:

Предлагаемое изменение - неверно, т.к. даже до серверных
rewrite'ов есть как минимум одна фаза обработки запроса, не говоря
уже о всяких явных вещах и 3rd party модулях в rewrite-фазе.

Ну и вышеописанный теоретический вариант тактовки описанной схемы
работы как приблизительной, с выполнением access-фазы между find
config и rewrite - не исключает.

--
Maxim Dounin
http://nginx.org/en/donation.html

_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru
Subject Author Posted

allow/deny and return

Anton Yuzhaninov October 15, 2013 08:28AM

Re: allow/deny and return

Maxim Dounin October 15, 2013 08:46AM

Re: allow/deny and return

Ruslan Ermilov October 15, 2013 08:54AM

Re: allow/deny and return

Gena Makhomed October 15, 2013 09:00AM

Re: allow/deny and return

Maxim Dounin October 15, 2013 09:46AM

Re: allow/deny and return

Gena Makhomed October 15, 2013 12:16PM

Re: allow/deny and return

Maxim Dounin October 15, 2013 01:00PM

Re: allow/deny and return

Oleksandr V. Typlyns'kyi October 16, 2013 03:40AM

Re: allow/deny and return

Gena Makhomed October 16, 2013 10:02AM

Re: allow/deny and return

Maxim Dounin October 16, 2013 11:22AM

Re: allow/deny and return

Gena Makhomed October 16, 2013 12:58PM

Re: allow/deny and return

Maxim Dounin October 16, 2013 01:34PM

Re: allow/deny and return

Gena Makhomed October 16, 2013 02:30PM

Re: allow/deny and return

Maxim Dounin October 16, 2013 07:20PM

Re: allow/deny and return

Gena Makhomed October 17, 2013 08:56AM

Re: allow/deny and return

Maxim Dounin October 17, 2013 10:10AM

Re: allow/deny and return

Gena Makhomed October 17, 2013 02:14PM

Re: allow/deny and return

Maxim Dounin October 18, 2013 07:42AM

Re: allow/deny and return

Gena Makhomed October 18, 2013 09:20AM

Re: allow/deny and return

Maxim Dounin October 18, 2013 09:52AM

Re: allow/deny and return

Gena Makhomed October 20, 2013 09:28AM

Re: allow/deny and return

Maxim Dounin October 21, 2013 08:38AM

Re: allow/deny and return

Илья Шипицин October 21, 2013 09:02AM

Re: allow/deny and return

Maxim Dounin October 21, 2013 11:50AM

Re: allow/deny and return

Gena Makhomed October 21, 2013 01:46PM

Re: allow/deny and return

Maxim Dounin October 21, 2013 02:38PM

Re: allow/deny and return

Gena Makhomed October 21, 2013 05:46PM

Re: allow/deny and return

Maxim Dounin October 21, 2013 06:34PM

error_page 404 и ngx_http_index_module

Gena Makhomed August 22, 2014 03:12PM

Re: error_page 404 и ngx_http_index_module

Maxim Dounin August 25, 2014 08:48AM

Re: error_page 404 и ngx_http_index_modul e

Gena Makhomed August 26, 2014 03:24PM

Re: allow/deny and return

Anton Yuzhaninov October 16, 2013 05:14AM

Re: allow/deny and return

Ruslan Ermilov October 16, 2013 01:26PM

Re: allow/deny and return

Maxim Dounin October 16, 2013 02:20PM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 281
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready