allow - deny
Igor Sysoev
is at rambler-co.ru
Fri Jul 8 09:28:39 MSD 2005
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
More information about the nginx-ru
mailing list