Я пробовал каждую комбинацию, но все время получаю ошибку при перезапуске Apache. Кто-нибудь знает, как определить блок внутри виртуального хоста apache?
<VirtualHost "[2601:9ab4:48af:97::/64]:80" _default_:*>
<VirtualHost [2601:9ab4:48af:97::/64]:80 _default_:*>
<VirtualHost [::/64]:80 _default_:*>
<VirtualHost [::]/64:80 _default_:*>
<VirtualHost [*:/64]:80 _default_:*>
TL; DR; в директивах VirtualHost нельзя использовать нотацию CIDR или диапазоны IP-адресов.
Apache настроен для ответа на запросы:
один конкретный IP-адрес и номер порта с Listen
директива
Либо адреса IPv6
Listen [2601:9ab4:48af:97::1]:80
или IPv4-адрес
Listen 127.0.0.1:80
несколько конкретных IP-адресов и номеров портов путем добавления нескольких Listen
директивы, по одной для каждого уникального ip-адреса и номера порта
Listen [2601:9ab4:48af:97::1]:80
Listen [2601:9ab4:48af:97::2]:80
Listen [2601:9ab4:48af:97::3]:80
Listen 127.0.0.1:80
Listen 127.0.0.2:81
каждый IP-адрес настраивается на хосте путем установки только номера порта:
Listen 80
Listen 443
Насколько я знаю, вы не можете использовать сетевую маску или определять диапазон IP-адресов в директиве Listen.
После настройки apache httpd принимать входящие соединения с помощью указанной выше директивы Listen вы можете необязательно создавать записи VirtualHost.
Затем вы можете создать Виртуальные хосты на основе IP (где вы снова ограничены определенным IP-адресом), виртуальные хосты на основе имен где Host:
заголовок с именем домена DNS в заголовках HTTP-запроса будет обрабатываться VirtualHost с этим именем хоста или шаблоном имени хоста в ServerName
или ServerAlias
директива и VirtualHost по умолчанию (обычно первая запись VirtualHost), которая обрабатывает все запросы, которые не соответствуют более конкретному виртуальному хосту на основе IP или имени. Видеть: https://httpd.apache.org/docs/2.4/vhosts/details.html
Во-первых, я думаю, вам следует послушать комментаторов и ограничить свой виртуальный хост одним IP-адресом. Даже если вы хотите попытаться послушать более одного, может быть, сначала попробуйте заставить работать один.
Во-вторых, я не думаю, что вам нужны кавычки вокруг IP-адреса.
В-третьих, пробовали ли вы какие-либо из них без обозначения CIDR "/ 64"? На примере второй строки:
<VirtualHost [2601:9ab4:48af:97::]:80>
Я ничего не вижу в нотации CIDR в документации Apache: