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