В вашем /etc/httpd/conf/httpd.conf, если ваша директива Listen
Listen 80
Это значит
*:80
Вы определили пару <listener>
+ <servename>
в ваших /etc/httpd/conf/httpd.conf и /etc/httpd/conf.d/default.conf, которые совпадают: *:80
+ <server-ip>
. Итак, Apache учитывает только один.
Итак, ваша конфигурация vhost бесполезна.
Вашего /etc/httpd/conf/httpd.conf достаточно, чтобы заблокировать доступ к вашему каталогу / var / www / html.
Просто добавьте:
<Directory /var/www/html>
Order Deny,Allow
Deny from all
Options None
AllowOverride None
</Directory>
Пожалуйста, прочитайте https://httpd.apache.org/docs/2.4/en/vhosts/name-based.html#alg :
Как сервер выбирает правильный виртуальный хост на основе имени
Важно понимать, что первым шагом в разрешении виртуального хоста на основе имени является разрешение на основе IP. Разрешение виртуального хоста на основе имен выбирает наиболее подходящий виртуальный хост на основе имен только после сужения кандидатов до наилучшего соответствия на основе IP. Использование подстановочного знака (*) для IP-адреса во всех директивах VirtualHost делает это сопоставление на основе IP неуместным.
При поступлении запроса сервер найдет наилучший (наиболее конкретный) совпадающий аргумент на основе IP-адреса и порта, используемого запросом. Если существует более одного виртуального хоста, содержащего эту комбинацию адреса и порта с наилучшим соответствием, Apache будет дополнительно сравнивать директивы ServerName и ServerAlias с именем сервера, присутствующим в запросе.
Если вы опустите директиву ServerName для любого виртуального хоста на основе имени, сервер по умолчанию будет использовать полное доменное имя (FQDN), полученное из имени хоста системы. Это неявно установленное имя сервера может привести к нелогичному сопоставлению виртуального хоста и не рекомендуется.
Vhost на основе имен по умолчанию для комбинации IP-адресов и портов. Если в наборе виртуальных хостов, содержащем наиболее конкретную комбинацию IP-адресов и портов, не найдено подходящих ServerName или ServerAlias, то будет указан первый из перечисленных виртуальных хостов, который будет использоваться.