Hello! On Mon, Jun 17, 2019 at 10:03:10AM -0400, grey wrote:
> Добрый день. > > > Сам конфиг, блокирующий картинки хотлинка с сайтов из "черного" списка: > > map $http_referer $bad_referer { > hostnames; > > default 0; > > "~site.ru" 1; > "~test.ru" 1; > } > > location ~* ^/secret-files/ > { > internal; > > if ($bad_referer) > { > rewrite ^ /images/direct-url.gif last; > } > > root /inetpub/wwwroot/qwerty.ru; > } > > > Пока запрашиваемая картинка на моем сервере существует, правило отрабатывает > верно и пользователи видят заглушку direct-url.gif, но если изображение на > моем сайте удалить, то они видят сообщение, которое отдает скрипт: > > <?php > ... > header ("X-Accel-Redirect: /image-not-found.gif"); > ?> > > > Не понимаю, почему дело доходит до скрипта, если nginx видя хотлинк сразу > должен отдать заглушку. У вас в "location ~* ^/secret-files/" запрос попадает только после обработки скриптом, судя по всему. И если скрипт не делает перенаправления в /secret-files/, то и проверки по $bad_referer не происходит. -- Maxim Dounin http://mdounin.ru/ _______________________________________________ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru