Добрый день.
Есть примерно такой конфиг:
server {
...
server_name www.test.com
...
location / {
root html;
index index.html index.htm;
expires 1h;
ssi on;
ssi_silent_errors on;
}
location /location1 {
valid_referers blocked;
А что показывает nginx -t ?
if ($invalid_referer) {
return 403; }
}
И уже битый час пытаюсь убедиться в работе valid_referers -- ничего не
выходит: какой бы реферер ни был (пустой или http://ya.ru/) -- сервер
исправно отдаёт файл. В логах ошибок нет, видно только что на любой запрос
файл выдаётся
HTTP/1.1" 200 430080 "-" ...
HTTP/1.0" 206 675014 "http://ya.ru/" ...
HTTP/1.0" 206 1567424 "http://www.test.com/" ...
HTTP/1.0" 206 924134 "" ...
Аналогично пробовал с valid_referers none и server_name.
И второй вопрос по теме: можно ли в server_name указывать имена, не
относящиеся к данному хосту? Т.е. чтобы разрешить прямые ссылки на файлы в
location1 с определённых сайтов.
Их нужно указывать не в server_name, а в valid_referers.
Игорь Сысоев
http://sysoev.ru