ПРОЕКТЫ 


  АРХИВ 


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: allow - deny



On Thu, 7 Jul 2005, Alex Kitschkiruk wrote:

А у меня что-то непонятное происходит с правами доступа :(
Например есть 2 виртуальных сервера.
Первый хочется полностью по IP защитить, например только для всех
адресов начиная с  55.55
И выдает ошибку

2005/07/07 21:48:01 [error] 28393#0: *1 access forbidden by rule,
client: 55.55.55.55, server: server.com, URL: "/", host:
"server.com:8080"

Только прямой вариант срабатывает, с полным адресом 55.55.55.55
Варианты типа
 allow 55.55.0/16;
не спасли положение.

Как именно писались правила ? Я вижу в примере
    allow 55.55;
Он эвкивалентен allow  55.0.0.55;

Такие варианты
    allow 55.55.0.0/16;
    allow 55.55.0/16;
должны работать.

Плюс к тому же происходит запрет на доступ к графическим файлам для
другого сервера, определенным по правилу.
 2005/07/07 21:53:01 [error] 28587#0: *3 open()
"/srv/www/htdocs/web2/html/favicon.ico" failed (13: Permission
denied), client: 55.55.55.55, server: virtualserver.com, URL:
"/favicon.ico", host: "virtualserver.com:8080"
правило срабатывает, проверил по логам:
 55.55.55.55 - - [07/Jul/2005:21:53:01 +0200] "-" "GET /favicon.ico
HTTP/1.1" 403 348 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; ru-RU;
rv:1.7.8) Gecko/20050511 Firefox/1.0.4" "-" "-"

Этот "Permission denied" - не результат действия директив allow/deny.
Это значит, что пользователь www не может открыть файл
/srv/www/htdocs/web2/html/favicon.ico

И еще почему-то не срабатывает правило из примера, для директории.
пропускает все на апач

Это все мои ошибки?

Вот конфиг:

user  www www;
worker_processes  3;
events {
   connections  2000;
   use epoll;
}

http {
   include       conf/mime.types;
   default_type  application/octet-stream;

[SKIP]

# confixx
       server {
       listen  8080;
              server_name server.com;
       access_log  /usr/local/nginx/logs/access_confixx.log  main;

       location / {
            proxy_pass         http://x.x.x.x:80/;
            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_header_buffer_size   4k;
            proxy_buffers              4 32k;
            proxy_busy_buffers_size    64k;
            proxy_temp_file_write_size 64k;

            allow 55.55;
            deny  all;
       }

        location ~* ^.+\.(jpg|jpeg|gif|png|ico|css|js)$ {
            root   /srv/www/confixx/html;
            access_log   off;
            expires      30d;
        }

       location ~ \.ht {
           deny  all;
       }
   }

# web2
   server {
       listen  8080;
        server_name virtualserver.com;
       access_log  /usr/local/nginx/logs/access_web2.log  main;
       location / {
            proxy_pass         http://x.x.x.x:80/;
            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_header_buffer_size   4k;
            proxy_buffers              4 32k;
            proxy_busy_buffers_size    64k;
            proxy_temp_file_write_size 64k;
       }
       location /files/ {
           valid_referers  none  server_names  *.virtualserver.com/;
           if ($invalid_referer) {
               return   403;     }
            root   /srv/www/htdocs/web2/html/files;
            autoindex    on;
            access_log   /usr/local/nginx/logs/access_web2_files.log   download;
        }
        location ~* ^.+\.(jpg|jpeg|gif|png|ico|mpg)$ {
            root   /srv/www/htdocs/web2/html;
            access_log   off;
            expires      30d;
        }
       location ~ \.ht {
           deny  all;
       }
   }


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




 




Copyright © Lexa Software, 1996-2009.