ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Проблема с фильтра цией по запросам



On Fri, Jun 08, 2007 at 03:50:32PM +0400, Alex Gakel wrote:

> Спасибо. Только 1 проблема такое правило
> 
>             if ($request_method ~ "^(POST|HEAD)$") {
>                 return 403;
>             }
> Рубит все запросы POST и HEAD и таким образом POST запросы скриптов не будут
> исполняться. Надо зарубить только POST и HEAD идущие на корень.

Тогда нужно продублировать

location = / {

location / {

и в первом указать проверки.

> P.S. Заранее спасибо за помощь
> 
> 2007/6/8, Igor Sysoev <is@xxxxxxxxxxxxx>:
> >
> >On Fri, Jun 08, 2007 at 02:04:47PM +0400, SaVeL wrote:
> >
> >> Необходимо сделать фильтрацию по 3-м запросам:
> >> 1. POST /
> >> 2. HEAD /
> >> 3. GET /?qwertyqwertyqwerty
> >>
> >> Необходимо на такие запросы выдавать ошибку 403. без проксирования на
> >> Apache.
> >>
> >> Прописыванием if добиться не удается. Оч. нужна помощь.
> >>
> >> Конфиг такой:
> >>
> >> server {
> >>        listen       89.111.180.163:80 <http://89.111.180.163:80>;
> >>        server_name  foto.rock-zone.ru <http://foto.rock-zone.ru>;
> >>
> >>        #charset koi8-r;
> >>
> >>        access_log  /home/savel/home/savel/foto
> >> .rock-zone.ru/logs/access_log <http://zone.ru/logs/access_log
> >>  combined;
> >>
> >
> >         location = /403.html {
> >             root   ...;
> >         }
> >
> >>        location / {
> >
> >             error_page  403  /403.html;
> >
> >             if ($request_method ~ "^(POST|HEAD)$") {
> >                 return 403;
> >             }
> >
> >             if ($args ~ "^qwertyqwertyqwerty") {
> >                 return 403;
> >             }
> >
> >>
> >>            proxy_pass         http://foto.rock-zone.ru:7777;
> >>            proxy_redirect     off;
> >>
> >>
> >>
> >>            proxy_set_header   Host             $host;
> >>            proxy_set_header   X-Real-IP        $remote_addr;
> >>            proxy_set_header
> >X-Forwarded-For  $proxy_add_x_forwarded_for;
> >>
> >>            client_max_body_size       10m;
> >>            client_body_buffer_size    128k;
> >>
> >>            proxy_connect_timeout      90;
> >>            proxy_send_timeout         90;
> >>            proxy_read_timeout         90;
> >>
> >>            proxy_buffer_size          4k;
> >>            proxy_buffers              4 32k;
> >>            proxy_busy_buffers_size    64k;
> >>            proxy_temp_file_write_size 64k;
> >>        }
> >>
> >>        # Static files location
> >>        location ~*
> >>
> >^.+\.(jpg|jpeg|gif|png|ico|mp3|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|dat|avi|ppt|txt|tar|mid|midi|wav|bmp|rtf|wmv|mpeg|mpg|tbz|js)$
> >> {
> >>            root   /home/savel/home/savel/foto.rock- zone.ru/docs
> >> <http://zone.ru/docs>;
> >>        }
> >>
> >>    }
> >>
> >
> >--
> >Игорь Сысоев
> >http://sysoev.ru
> >
> >

-- 
Игорь Сысоев
http://sysoev.ru



 




Copyright © Lexa Software, 1996-2009.