проблема с limit_except

Maxim Dounin mdounin at mdounin.ru
Tue Nov 3 15:58:39 MSK 2009


Hello!

On Tue, Nov 03, 2009 at 03:11:53PM +0300, Artem Danilenko wrote:

> Приветствую! 
> 
> Понадобилось нескольким сетям закрыть POST!
> 
>     location / {
>  [skip]
> limit_except  GET {
>     deny    xx.xx.xx.0/20;
>     deny    xy.xy.xy.0/24;
>     allow   all;

+          proxy_pass  http://127.0.0.1/;

> }        proxy_pass  http://127.0.0.1/;
>  [skip]
>       }
> 
>     location @apache {
>         proxy_pass  http://127.0.0.1/;
>  [skip]
>       }
> 
> Когда клиент из deny сетей пытается сделать POST, он получает 403 и это работает правильно, но тогда все остальные при POST, получают 404. В error.log видно, что запросы не идут на прокси, а идут в "root html" который в этом локейшене не определен, т.е. берется тот, что по умолчанию.

Директива proxy_pass не наследуется, внутри блока limit_except её надо явно 
указывать.

Maxim Dounin

p.s. Please do not hijack unrelated threads.  Thank you.


> 
> ЗЫ: Игорь, возможно сделать список всех модулей со статусом вкл. выкл. после конфигурации, до сборки? Было бы очень удобно и сразу видно, что лишнее, а что наоборот забыто.
> nginx -V
> nginx version: nginx/0.7.63
> TLS SNI support enabled
> configure arguments: --with-http_ssl_module --without-select_module --without-poll_module --without-http_charset_module --without-http_fastcgi_module --with-http_gzip_static_module --with-http_stub_status_module --without-http_empty_gif_module --without-http_ssi_module --without-http_browser_module --without-http_autoindex_module --without-http_userid_module --without-http_memcached_module --with-http_flv_module --with-http_realip_module --user=www-data --group=www-data
> 





More information about the nginx-ru mailing list