Собственный выделенный ящик CentOS, который использует lighttpd для обслуживания www.newdomain.com
. Однако тот же IP-адрес, который использовался для размещения старого домена www.olddomain.com
.
В ящик все еще поступают запросы на www.olddomain.com
.
Какой самый эффективный способ заблокировать эти запросы?
Заметка: У меня нет доступа к серверам имен или записям домена www.olddomain.com
Создайте виртуальный хост для старого домена с пустым каталогом в качестве корневого (который будет обслуживать только 404).
Используйте iptables string module
. Хотя это не самый рекомендуемый способ сделать это, вам может потребоваться рассмотреть его, поскольку вы, кажется, заинтересованы в его полной блокировке. Для строкового модуля требуется ядро linux> = 2.6.14
Правило было бы таким -
/sbin/iptables -I INPUT -p tcp --dport 80 -m string --algo bm --string "www.olddomain.com" -j DROP
Но помните, это может привести к блокировке законного трафика. Вы должны подтвердить, что ваш старый домен не отображается ни в одном запросе URL-адресов для всех сайтов в вашем домене.
Основываясь на вашем ответе на мой комментарий, я бы использовал iptables или аппаратное устройство для отбрасывания пакетов. Использование iptables избавит вашу веб-службу от необходимости обрабатывать запрос. Использование другого аппаратного устройства, такого как брандмауэр, было бы лучшим вариантом, поскольку они работают намного быстрее и никогда не попадут на ваш сервер.
Лучше всего сделать это на уровне брандмауэра (например, iptables, со строковыми модулями), потому что вы потребляете меньше ресурсов, чем при использовании службы «веб-сервера», такой как lighttpd, nginx и т. Д.
Однако в вашем исходном запросе упоминается HTTPS. Это немного сложнее, потому что вы используете одни и те же IP-адреса, и вы можете расшифровать заголовок https только ОДИН РАЗ, когда вы даете ему свою часть сертификата (то есть: вы не будете знать, для какого домена он предназначен, прежде чем передать его балансировщик нагрузки или веб-сервер [1]).
Поэтому я предлагаю вам просто поймать их на уровне веб-сервера. Вы также можете создать базовый ответ 301 (постоянно перемещенный) и перенаправить его в другое место. Со временем поисковая система больше не будет отправлять вам трафик.
[1]. Обратите внимание, есть способ через расширение SSL SNI (идентификация имени сервера), но это становится немного сложнее.
Если по умолчанию используется www.newdomain.com, скорее всего, веб-сервер будет использовать его для ответа на запросы любого домена.
Настройте свой веб-сервер так, чтобы он отвечал только на www.newdomain.com и игнорировал все остальное.
(Я давно не использовал lighttpd, вам нужно поискать синтаксис.)