У меня есть сервер CentOS под управлением Apache 2.2.15. Если IP-адрес сервера равен 198.51.100.4, и я пишу в браузере http://198.51.100.4, он отправляется на мой веб-сайт.
Я хочу предотвратить это. Я хочу, чтобы мой веб-сайт был доступен только для полного доменного имени, т.е. http://example.com/ .
Как я могу настроить свой сервер, чтобы веб-сайт был недоступен при посещении IP-адреса?
apache-2.2
centos
antiks
источник
источник
Ответы:
Вы можете использовать
Alias *
для перехвата любой другой трафик, кроме разрешенного thoose на вашем виртуальном хосте, для этого вы должны использовать в качестве последнего*
псевдонима виртуальный хост с последней позицией .Так будет обслуживаться только определенный домен.
В моем примере будут разрешены только mywebsite.com & another.mywebsite.com, все остальные домены или IP-адреса будут отменены.
Чтобы отменить трафик, вы можете использовать перенаправление
-
и затем добавить код ошибки, например, я использовал RewriteRule для перенаправления на 406 Not Acceptable (R=406
).Здесь вы можете найти список кодов перенаправления: https://fr.wikipedia.org/wiki/Liste_des_codes_HTTP
источник
Вы можете добавить виртуальный хост по умолчанию, который просто выдает ошибку «отказано», или что-то еще. Когда браузер приходит на ваш веб-сервер без хоста, URL-адрес которого совпадает с каким-либо
ServerName
илиServerAlias
строк в других виртуальных хостах, будет обслуживаться виртуальным хостом по умолчанию.Итак, в вашем конфиге apache:
источник
Вам нужно переписать правило так:
источник