allow - deny

Alex Kitschkiruk rusnginx at gmail.com
Fri Jul 8 00:34:29 MSD 2005


А у меня что-то непонятное происходит с правами доступа :(
Например есть 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;
не спасли положение.

Плюс к тому же происходит запрет на доступ к графическим файлам для
другого сервера, определенным по правилу.
  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" "-" "-"

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

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

Вот конфиг:

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;
        }
    }


More information about the nginx-ru mailing list