Не получается разрешить хотлинк для отдельной папки. Вот кусок
конфига
location /banners/ {
root /home/domains/domain;
access_log off;
}
location ~* ^.+\.([gG][iI][fF]|[jJ][pP][eE]?[gG]|[pP][nN][gG])$ {
root /home/domains/domain;
access_log off;
expires 30d;
valid_referers none server_names *.domain/;
if ($invalid_referer) {
return 403;
}
}
По моим ожиданием хотлинк везде запрещен кроме /banners/*
Но так не происходит. И во время обращения к гифу в banners с левым
рефом я получаю 403.
Для того, чтобы после попадания запроса под location /banners/
не проверялись locations с регулярными выражениями, нужно написать так:
location ^~ /banners/ {
Кстати, для второго location не нужно описывать cases. "~*" проверяет
без учёта регистра:
location ~* \.(gif|jpe?g|png)$ {
См. http://sysoev.ru/nginx/docs/http/ngx_http_core_module.html#location
Игорь Сысоев
http://sysoev.ru