У меня установлен ISPConfig на VPS с IP-адресом 1.2.3.4. В этой установке ISPConfig у меня настроен один сайт с именем example.no. Теперь, когда я захожу на example.no в браузере, он правильно отображает папку /var/www/example.no/web
.
Проблема в следующем: когда я приезжаю http://1.2.3.4 он также отображает /var/www/example.no/web
. Этого не должно было случиться, не так ли? В чем может быть причина?
Подводя итог: 1.2.3.4 - это VPS с установленным ISPConfig. В нем установлены Apache, FTP, DNS, курьер и т. Д., И ISPConfig обрабатывает их все. Когда я посещаю доменное имя сайта, размещенного на этом сервере, я ожидаю, что попаду в правильную папку на этом сервере, каковым я и являюсь. Но когда я посещаю IP-адрес сервера, я ничего не ожидаю. Вместо этого отображается единственный сайт, настроенный на данный момент.
Когда Host:
заголовок, соответствующий никаким настроенным сайтам, обнаружен Apache на порту, использующем виртуальный хостинг на основе имени, он обслуживает запрос с первого VirtualHost
блок, который был загружен в этот порт.
Если вы хотите предотвратить поведение, которое вы наблюдаете, настройте VirtualHost
который загружается раньше вашего настоящего, у которого есть подделка ServerName
и не обслуживает ваш сайт.