запретить горячую ссылку на контент за пределами сайта?
У меня есть сайт www.example.com
, где я обслуживаю весь статический контент (например, http.//www.example.com/image.jpg
) с CDN с URL-адресами, такими как http://static.example.com/image.jpg
Правило Apache 2.htaccess запрещает непустые, non-example.com
ссылки:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?example.com [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://example.cloudfront.net [NC]
RewriteRule \.(jpeg|jpg|gif|bmp|png|mp3)$ - [NC,F,L]
</IfModule>
Я все еще получаю огромное количество трафика с очень популярного веб-сайта, который использует какую-то функцию "сводки новостей" и горячие ссылки на www.example.com/image.jpg
(вместо static.example.com ): этот ресурс существует (по причинам извлечения источника), но URL-адрес нигде не опубликован.
На самом деле, обслуживание стольких 403-х приводит к отключению моего сервера.
Как можно заблокировать такой трафик горячих ссылок или, по крайней мере, как его перенаправить в CDN до того, как он достигнет и выведет из строя apache2?
2 answers
Невозможно переслать www > cdn, не достигнув запроса на главном сервере, так как они ссылаются на вас.
Мой совет - не перенаправлять 301, а вместо того, чтобы просто указывать 404, надеюсь, таким образом они прекратят горячую связь с вами.
Хотя на вашем сервере есть некоторый трафик, его не должно быть слишком много, и вам следует рассмотреть возможность обновления вашего хостинга, если это проблема.
Мой Совет По Детализации
- Рассмотрим обновление вашего хостинга (горячая ссылка IMG на самом деле помогает вашему SEO) Балансировщик нагрузки может хорошо послужить вам здесь, выполнив 403-е, 404-е или 301-е годы.
- Рассмотрите возможность использования 404, если вы не хотите, чтобы они были связаны горячей связью.
Другой вариант заключается в том, что вы можете использовать robots.txt на вашем CDN, но опять же, на горячие ссылки в эти дни не следует смотреть свысока, так как, как я уже сказал, невозможно использовать rel=nofollow на изображениях, и это немного помогает вашему SEO. Я лично бы оценил трафик / ссылки и обновление моего сервера. Но кроме этого... подавайте им старый добрый 404, если они ссылаются на что-то, чего не существует - они скоро остановятся.
Если у вас нет изображений в поддомене, невозможно разделить трафик до того, как он попадет на ваш веб-сервер.
Один совет по производительности, который может вам помочь, - использовать nginx и Apache на одном сервере. Запустите apache на нестандартном порту. Пусть nginx запустится на порту 80 и обратит запросы прокси-сервера к apache. Правило перезаписи изображений можно разместить на сервере nginx. Вы можете выбрать эту настройку, потому что nginx быстрее и легче, чем apache, и может обрабатывайте гораздо больше таких простых типов запросов. Вот руководство по реализации этого: http://tumblr.intranation.com/post/766288369/using-nginx-reverse-proxy