Изменение опций на основе IP-адреса клиента

Medvedchikov Alexey medved на novotelecom.ru
Сб Апр 16 11:19:56 MSD 2011


Здравствуйте.

Возникла необходимость некоторому набору блоков адресов показывать
содержимое папки, иначе отдавать какую-либо страничку (или просто 403).
Я начинающий пользватель nginx, т.ч. возможно будет достаточно ткнуть в
документацию палцем :). Пример работающего конфига:

==== 8< ====
geo $allowed_ips {
  default 0;
  127.0.0.0/8 1;
}

server {
  error_page 590 @enable-autoindex;

  location @enable-autoindex {
    internal;
    root /var/www/somesite.tld/files;
    autoindex on;
  }

  location / {
    if ($allowed_ips) {
      return 590;
    }
    # просто показываем страничку, например
    # настройки index'а и пр подразумеваются
    autoindex off;
    root /var/www/simesite.tld/htdocs;
  }
}
==== 8< ====

Есть ли возможность реализовать такой функционал "красивее", без
использования фиктивного кода ошибки? Хорошим сахаром в конфигурации
был бы, например:

==== 8< ====
geo $is_autoindex_allowed {
  default off;
  127.0.0.0/8 on;
}

#...

location / {
  autoindex $is_autoindex_allowed;
}
==== 8< ====

Спасибо!
----------- следущая часть -----------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 490 bytes
Desc: отсутствует
URL: <http://nginx.org/pipermail/nginx-ru/attachments/20110416/8be56897/attachment.pgp>


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