Задать вопрос
@kachi88

Как правильно настроить хотлинкинг в Nginx?

Есть файловый сервер на nginx, доступ к нему по http, т.е site.ru/file.exe и файл скачивается.

Чтобы сторонние ресурсы не копировали себе эти ссылки и не нагружали сервер был настроен защита от хотликинга путем:

location ~* ^.+\.(iso|img|pkg|exe|zip|rar)$ {
	valid_referers none blocked mysite.ru www.mysite.ru;
	if ($invalid_referer) {
	return https://mysite.ru/;
	}
	}


Все работает, но проблема в том, что если на стороннем сайте ссылка вставляется как "открыть в новом окне", через target="_blank", то этот способ уже не работает и файл скачивается.
Можно ли как-нибудь решить эту проблему?
  • Вопрос задан
  • 184 просмотра
Подписаться 1 Средний 5 комментариев
Решения вопроса 1
@kachi88 Автор вопроса
В общем проблема решилась довольно просто, убрал "none" из этой строки - valid_referers none blocked mysite.ru www.mysite.ru;
И прямые ссылки перестали работать, в т.ч если на стороннем сайте ссылка указана через target="_blank"
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
dimonchik2013
@dimonchik2013
non progredi est regredi
none blocked

выкинь
Ответ написан
alekciy
@alekciy
Вёбных дел мастер
А точно цель в "и не нагружали сервер"? Потому что nginx делает раздачу статики очень эффективной и сервер это не нагружает.
А если реально цель в защита файла от скачки, то делается в рамках nginx по другому.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы