Я пытаюсь разрешить локальный хост только в определенной папке, он отлично работает с ipv4 (Allow from 127.0.0.1
) но как только добавлю ipv6 (Allow from [::1]
) мой Apache больше не запускается.
Я проверил error.log
и он говорит:
Указанный IP-адрес недействителен.
Я уже набрал адрес ipv6 без сжатого формата, тоже не сработало.
Я использую Apache 2.2.25, Windows 8.1. На моем компьютере включен IPv6.
Обозначение, в котором вы заключаете 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
) он должен работать.
Ваш виртуальный хост должен быть определен так <VirtualHost *:80>
который разрешает доступ как для ipv4, так и для ipv6.
Также в документации Apache используется этот формат для ограничения ipv6: Allow from 2001:db8::a00:20ff:fea7:ccea
Документ Apache