ПРОЕКТЫ 


  АРХИВ 


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: Проблема с фильтрацией по запросам


  • To: nginx-ru@xxxxxxxxx
  • Subject: Re: Проблема с фильтрацией по запросам
  • From: "Alex Gakel" <crazysqwad@xxxxxxxxx>
  • Date: Fri, 8 Jun 2007 16:46:15 +0400
  • Dkim-signature: a=rsa-sha1; c=relaxed/relaxed; d=gmail.com; s=beta; h=domainkey-signature:received:received:message-id:date:from:to:subject:in-reply-to:mime-version:content-type:references; b=qoyMvsZbHRTRBIfOVq/muB7/+Lc9RJB8WyQ3JbRAlfzBqpv/cdGTTgJR0/mm5H6VtXw8NcPp0oC/lTZem2hHdo8t/9/uTmdQDaSORG1H6fwdtkS9MaFlCFkvb300GGTczGBXD2qNd5woust0xr5rydsEkShCs1pjdt4KjcP4H1k=
  • Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=beta; h=received:message-id:date:from:to:subject:in-reply-to:mime-version:content-type:references; b=F9xubK/mMBudygEJ30TTpZtBor5KcKypjOqr4o1vIXF1TEU99eMUqnwPOIur9LW/xhdGJ1vNHwBefd45SPGjYuewLjYlEIgwux9ycjkwX34cq/DT2VEkynsH3ndsaAH4wgH/+JbIYzAys4Ay6KhPFXGJ5SSOCXEAm6Oz8w5tL58=
  • In-reply-to: <redirect-75435759@xxxxxxxxxx>
  • References: <466929BF.70507@xxxxxxxxxxxx> <redirect-75396169@xxxxxxxxxx> <6fdcb1fc0706080450v5903b16fv253b2c89cc36e0d7@xxxxxxxxxxxxxx> <redirect-75435759@xxxxxxxxxx>

Спасибо так работает:
 
      server {
        listen       89.111.180.163:80;
        server_name  foto.rock-zone.ru;

        #charset koi8-r;

        access_log  /home/savel/home/savel/foto.rock-zone.ru/logs/access_log  combined;

        location = / {
            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;
        }

        location / {
            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;
        }

    }




2007/6/8, Igor Sysoev < is@xxxxxxxxxxxxx>:
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.