Re: Проблема с фильтрацией по запросам
Alex Gakel
crazysqwad at gmail.com
Fri Jun 8 16:46:15 MSD 2007
Спасибо так работает:
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 at rambler-co.ru>:
>
> 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 at rambler-co.ru>:
> > >
> > >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
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://nginx.org/pipermail/nginx-ru/attachments/20070608/12081c22/attachment.html>
More information about the nginx-ru
mailing list