Как вы определяете блок IPv6 / 64 в виртуальном хосте Apache

Я пробовал все комбинации, но все равно получаю ошибку при перезапуске 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_:*>
1
задан 4 February 2019 в 22:17
2 ответа

Сначала я думаю, что вы должны прослушать комментарии и ограничить ваш виртуальный хост одним IP-адресом. Даже если вы хотите попробовать прослушать более одного, может быть, сначала попробуйте заставить его работать.

Во-вторых, я не думаю, что вам нужны цитаты вокруг IP-адреса.

В-третьих, вы пробовали что-нибудь из этого без CIDR-нотации "/64"? Используя вторую строку в качестве примера:

<VirtualHost [2601:9ab4:48af:97::]:80>

Я ничего не вижу о CIDR нотации в документах Apache здесь:

https://httpd.apache.org/docs/2.4/mod/core.html#virtualhost

2
ответ дан 3 December 2019 в 17:32

TLDR; в директивах VirtualHost нельзя использовать нотацию CIDR или диапазоны IP-адресов.


Apache настроен на ответ на запросы либо по :

  • одному конкретному IP-адресу и номеру порта с помощью директивы Listen
    . Либо IPv6-адреса

     Послушайте [2601:9ab4:48af:97::1]:80.
    

    или адрес IPv4

    Слушайте 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
    Слушай 127.0.0.1:80
    Слушайте 127.0.0.2:81
    
  • каждый IP-адрес, сконфигурированный на хосте, установив только номер порта:

    Слушайте 80.
    Слушай 443
    

Насколько я знаю, вы не можете использовать сетевую маску или определять диапазон ip...адреса в директиве Listen.

После настройки apache httpd принимать входящие соединения с помощью вышеуказанной директивы Listen вы можете опционально создавать записи VirtualHost. Затем вы можете создать виртуальные хосты на основе IP (где вы снова ограничены определенным IP-адресом), виртуальные хосты на основе имен, где хост Host: заголовок с DNS доменным именем в заголовках http запроса будет обрабатываться виртуальным хостом с помощью этого шаблона имени хоста или хоста в директиве ServerName или ServerAlias и виртуальным хостом по умолчанию VirtualHost (обычно это первая запись виртуального хоста), который обрабатывает все запросы, которые не соответствуют более специфическим IP-адресам или виртуальным хостам, основанным на именах. Смотрите: https://httpd.apache.org/docs/2.4/vhosts/details.html

2
ответ дан 3 December 2019 в 17:32

Теги

Похожие вопросы