Welcome! Log In Create A New Profile

Advanced

Re: allow/deny and return

Gena Makhomed
October 16, 2013 02:30PM
On 16.10.2013 20:33, Maxim Dounin wrote:

>>>> кстати, если добавить директиву handler, которая работает после фазы
>>>> try_files, то можно будет писать конфиг nginx без лишней избыточности:
>>>>
>>>> location /admin {
>>>> satisfy any;
>>>> set $file ".htpasswd";
>>>> auth_basic_user_file /path/to/$file;
>>>> allow 10.1.1.1;
>>>> deny all;
>>>> handler @default;
>>>> }
>>
>>> Можно добавить множество новых директив. Но, как показывает
>>> практика, это не избавляет от старых проблем, а только добавляет
>>> новых. Не надо умножать сущности без необходимости.
>>
>> а какие новые проблемы добавятся в этом случае?
>
> Понятия не имею - подобные вещи выясняются в основном в процессе,
> кроме уж совсем очевидных глупостей. Я как бы пытаюсь сказать,
> что на обсуждаемый вопрос с allow/deny vs return это добавление
> никак не повлияет.

тогда "allow/deny vs return" перестанет быть такой уж острой проблемой.
сейчас код "error_page 456 @default; return 456;" использовать нельзя,
потому что он отрабатывает до access-проверок и админка будет без защиты

include использовать тоже не имеет смысла и остается только copy/paste.

ладно, если это разные по смыслу фрагменты исходника, тогда дублирование
и избыточность еще можно оправдать "квадратно-гнездовым методом",
а если это полностью идентичный handler, который просто присутствует
в разных местах сайта, например, для админки и остальной части сайта?

include - это не решение, когда разных сайтов несколько десятков/сотен.

проблема с дублированием идентичных фрагментов конфига уже неоднократно
обсуждалась ранее, например: http://www.lexa.ru/nginx-ru/msg26393.html
но удобного и эффективного решения ранее придумано еще не было...

> Игорь тут уже как-то попробовал решать проблемы модуля rewrite с
> помощью добавления директивы try_files. Стало только хуже, т.к.
> старые проблемы никуда не делись, а новых добавилось - в
> количестве.

а какие проблемы появились из-за добавления директивы try_files ?

ведь изменения там были минимальными:

location / {
try_files $uri $uri/ @drupal;
}

- это просто синтаксический сахар для

location / {
error_page 404 = @drupal;
log_not_found off;
}

плюс добавилась одна фаза, которая работает перед content handler`ами.

вообще-то это достаточно удобно и часто надо: существующие на диске
файлы обрабатывать одним способом, а запросы, которые не соответствуют
существующим на диске файлам - другим способом. try_files тут помогает
обойтись без использования if из модуля rewrite: if ( -f $uri ) {...},
который отрабатывает до access-проверок и служит для выбора location.

допустим, нет у нас директивы try_files. каким образом тогда можно
сделать с помощью nginx защищенную basic auth и allow/deny админку,
в которой статика будет отправляться клиентам напрямую, существующие
на диске файлы с расширением .php будут обрабатываться другим способом,
а запросы которым не соответствует файл на диске - третьим способом ?

было бы очень интересно посмотреть на вариант решения без try_files.

--
Best regards,
Gena

_______________________________________________
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: 262
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