ПРОЕКТЫ 


  АРХИВ 


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: Баг try_files + valid_referers



Hello!

On Thu, Aug 29, 2013 at 02:47:01PM +0300, Андрей Василишин wrote:

>         location / {
>             index  index.php index.htm index.html;
>             root   /var/www/site.com;
>             try_files $uri
>                 $uri/
>                 /index.php?q=$uri&$args
>                 @backend;
>                 rewrite
> "^/([^\/]+/[^\/]+)/((s[\d]+)?(e[\d]+){1}(\-[\d]+)*)$"
> /$1.html?serie=$2;
>                 rewrite ([^\/]+/[^\/]+.html)/$ /$1 permanent;
>                 rewrite (tag/[^\/]+)/$ /$1 permanent;
>                 valid_referers none server_names 
> ~(yandex|google|yahoo|bing|facebook|fbcdn|mail.ru|rambler|nigma|vk.com);
>                 if ($invalid_referer) {
>                         access_log
> /var/log/nginx/site.com.invalid.log  main;
>                 }
>                 if ($a) {
>                         access_log
> /var/log/nginx/a.site.com.access.log  main;
>                 }
> 
>         }
> 
> 
> Почему-тоЮ, если приходит запрос с реферером, которого нет в
> valid_referers, try_files почему-то проверяет только $uri и потом
> возвращает сразу 404:

http://wiki.nginx.org/IfIsEvil

Конкретно ваш случай - "try_files wont work due to if".

[...]

> Ну, и чтоб два раза не вставать: какой альтернативный способ писать
> отдельный лог для invalid_referer?

Варианты - уйти в другой location и писать отдельный лог там, 
писать лог с переменными в имени.

-- 
Maxim Dounin
http://nginx.org/en/donation.html

_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.