А РХИВ :: 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