У меня есть, назовем его, «старый» VHost, настроенный на сервере nginx. Раньше это был полноценный сайт, но с тех пор он был выведен из эксплуатации и весь контент удален. В server
блок теперь выглядит примерно так:
server {
listen 80;
server_name defunct-site.com;
return 410;
}
Есть записи DNS и приложения, которые находятся вне моего контроля, которые по-прежнему указывают на этот сервер, и он по-прежнему получает относительно значительный трафик, несмотря на мои просьбы к третьей стороне обновить их конфигурацию и прекратить попытки попасть на сайт. Излишне говорить, что я не могу изменить свой IP-адрес без значительных бессмысленных усилий.
Есть ли более сильный способ сказать этим клиентам, что их трафик здесь больше не приветствуется? Исходные IP-адреса повсюду, поэтому успешная блокировка iptables маловероятна. И мне нужно прочитать достаточно HTTP-запроса, чтобы добраться до Host:
заголовок, чтобы убедиться, что я не забиваю трафик, предназначенный для законного VHost.
410 Gone - это каноническая ошибка возврата для контента, который больше не существует и, как известно, никогда не возвращается. В частности, он также сообщает об этом поисковым системам, чтобы они могли снизить рейтинг таких URL-адресов или исключить их из списка.
Еще одна вещь, которую вы можете сделать, - это предоставить error_document
для этого, чтобы объяснить людям, которые посещают сайт, что происходит. Без него все, что они увидят, - это неинформативное "410 Gone". Например:
error_document 410 /410.html;
Это будет просто статический HTML-документ, содержащий все, что вы хотите, и вы можете быть настолько грубым, насколько захотите.
<html>
<head><title>Gone</title></head>
<body>
<h1>Go away</h1>
<p>You aren't supposed to be here. This is Initech's fault, yell at
John Doe on +1 212 555-1234.</p>
</body>
</html>