Подскажите правильное решения конфига для ngx_http_referer_module

12
M
На сайте с 16.09.2009
Offline
278
#11
Yurgon:

Yurgon добавил 29.09.2009 в 18:24
Подскажите тогда как я могу ещё ограничить количество загрузок с одного айпи...но то бы сайт открывался для этого айпи...

А то начнут качать влешгетами...

http://sysoev.ru/nginx/docs/

На вкус, например:

http://sysoev.ru/nginx/docs/http/ngx_http_limit_zone_module.html

http://sysoev.ru/nginx/docs/http/ngx_http_limit_req_module.html

Вам скорее, последнее.

Абонементное сопровождение серверов (Debian) Отправить личное сообщение (), написать письмо ().
Y
На сайте с 24.09.2007
Offline
116
#12

кстати первая проблема опять не решена, если я залогинен но все работает, а всем остальным 404 ошибка :)

Даже для главной страницы.

Некоторые вещи настолько просты, что некоторые считают их настолько сложными (с) Yurgon.com
M
На сайте с 16.09.2009
Offline
278
#13
Yurgon:
кстати первая проблема опять не решена, если я залогинен но все работает, а всем остальным 404 ошибка :)

У Вас судя по конфигу - 403 должно быть при $invalid_referer. Вы _уверены_,

что показали выше всю часть конфига nginx, которая "по делу"? Может

URL как-то по-другому формируются, если пользователь "залогинен".

Y
На сайте с 24.09.2007
Offline
116
#14
myhand:
У Вас судя по конфигу - 403 должно быть при $invalid_referer. Вы _уверены_,
что показали выше всю часть конфига nginx, которая "по делу"? Может
URL как-то по-другому формируются, если пользователь "залогинен".

Вот такой конфиг

server {

listen *******:80;

server_name ******.net www.******.net ;

access_log /var/log/httpd/domains/******.net.log main;

error_log /var/log/httpd/domains/******.net.error.log error;

# valid_referers server_names *.*****.net;

# if ($invalid_referer) {

# return 403;

# }

location ~* ^.+\.(php)$ {

client_max_body_size 2024m;

fastcgi_pass unix:/tmp/php.****.sock;

fastcgi_index index.php;

fastcgi_param SCRIPT_FILENAME /home/*****/domains/****.net/public_html$fastcgi_script_name;

fastcgi_param QUERY_STRING $query_string;

fastcgi_param REQUEST_METHOD $request_method;

fastcgi_param CONTENT_TYPE $content_type;

fastcgi_param CONTENT_LENGTH $content_length;

}

location ^~ /sites/default/files/imagecache/ {

if (!-e $request_filename) {

rewrite ^/(.*)$ /index.php?q=$1 last;

}

}

location / {

proxy_pass http://******:8080/;

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 300m;

client_body_buffer_size 128k;

proxy_connect_timeout 90;

proxy_send_timeout 90;

proxy_read_timeout 90;

proxy_buffer_size 64k;

proxy_buffers 4 32k;

proxy_busy_buffers_size 64k;

proxy_temp_file_write_size 10m;

rewrite ^(/)$ /index.php;

if (!-e $request_filename) {

rewrite ^/(.*)$ /index.php?q=$1 last;

}

root /home/*****/domains/******.net/public_html;

}

location ~* ^.+\.(flv|jpg|jpeg|gif|mp3|png|avi|vob|mpg|mpeg|mp4|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|wav|bmp|rtf|swf|css|js|ico)$ {

root /home/*******/domains/*******.net/public_html;

}

}

M
На сайте с 16.09.2009
Offline
278
#15
Yurgon:
Вот такой конфиг

server {
[skip]

# valid_referers server_names *.*****.net;
# if ($invalid_referer) {
# return 403;
# }

[skip]
location ~* ^.+\.(flv|jpg|jpeg|gif|mp3|png|avi|vob|mpg|mpeg|mp4|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|wav|bmp|rtf|swf|css|js|ico)$ {

root /home/*******/domains/*******.net/public_html;
}


}

Не логично ли поместить if ($invalid_referer) в правильный location? Например, где

у Вас статика. Иначе, естественно, 403 ошибка у вас будет при заходе на сайт.

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий