allow/deny and return

Gena Makhomed gmm at csdoc.com
Wed Oct 16 16:55:59 UTC 2013


On 16.10.2013 18:20, 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;
>> }

> Можно добавить множество новых директив.  Но, как показывает
> практика, это не избавляет от старых проблем, а только добавляет
> новых.  Не надо умножать сущности без необходимости.

а какие новые проблемы добавятся в этом случае?

сейчас весь блок обработки статики и динамики -
надо будет копировать в конфиге несколько раз,
и при внесении правок - не забыть везде поправить.

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

по поводу правила "не надо умножать сущности без необходимости",
это правило работает не всегда. например, для того чтобы вернуть
какой-то код и текст вполне достаточно было доработать директиву
return, чтобы она понимала синтаксис вида return 200 "secret\n";
- здесь нет необходимости создавать новый модуль a la empty gif.

-- 
Best regards,
  Gena



Подробная информация о списке рассылки nginx-ru