Apache 2.2 не запускается с адресом ipv6

Apache 2.2 не запускается с адресом ipv6

Я пытаюсь разрешить доступ localhost только к определенной папке, все отлично работает с ipv4 ( Allow from 127.0.0.1), но как только я добавляю ipv6 ( Allow from [::1]), мой Apache больше не запускается.

Я проверил error.logи там написано:

Указанный IP-адрес недействителен.

Я уже ввел адрес ipv6 без сжатого формата, тоже не сработало.

Я использую Apache 2.2.25, Windows 8.1. На моем компьютере включен IPv6.

решение1

Обозначение, при котором адрес IPv6 заключается в скобки, используется только в тех случаях, когда может возникнуть путаница между адресом и необязательным номером порта.

Одним из примеров являетсяListenдиректива. Поскольку она может указывать как адрес, так и порт, необходимо добавить скобки, чтобы избежать путаницы: Listen 2001:db8::1:8080недопустимо, поскольку может означать Listen [2001:db8::1]:8080и Listen [2001:db8::1:8080]. Скобки делают это явным.

ДляAllow fromдиректива это не так. При указании адреса это всегда адрес без номера порта. Поэтому Allow from 2001:db8::1:8080никогда не бывает двусмысленным. Это всегда адрес IPv6 2001:db8::1:8080.

Если убрать скобки ( Allow from ::1), то все должно работать.

решение2

Ваш виртуальный хост должен быть определен следующим образом, <VirtualHost *:80>что разрешает доступ как для ipv4, так и для ipv6.

Кроме того, в документации Apache используется следующий формат для ограничения IPv6: Allow from 2001:db8::a00:20ff:fea7:ccea Apache-документ

Связанный контент