Я в основном пытаюсь перенаправить каждый запрос с: 443 на: 443. Я нашел способ сделать это, и он работает довольно хорошо, как только посетитель отклоняет предупреждение SSL (мой сертификат, конечно, недействителен для моего IP-адреса), он перенаправляется правильно:
<VirtualHost *:443>
SSLEngine off
ServerAdmin hi@mom.eu
ServerName 11.11.11.11
Redirect Permanent / https://domain.eu/
</VirtualHost>
Но сегодня я включил IPv6 на своем сервере, поэтому я бы тоже хотел его перенаправить, но проблемы начинаются здесь.
<VirtualHost *:443>
SSLEngine off
ServerAdmin hi@mom.eu
ServerName [ff:ff:8:ff::1] //(with or without '[]')
Redirect Permanent / https://domain.eu/
</VirtualHost>
Это просто не сработает. Я не уверен, что это из-за отсутствия поддержки IPv6 в аргументе ServerName, но я как бы застрял.
Есть ли у вас какие-либо идеи ? Спасибо !
Вы пробовали это?
Listen [ff:ff:8:ff::1]:80;
<VirtualHost [ff:ff:8:ff::1]:443>
SSLEngine off
ServerAdmin hi@mom.eu
Redirect Permanent / https://domain.eu/
</VirtualHost>
Обработать запрос в зависимости от адреса прослушивания.
Во-первых, '[' и ']' недопустимы для соглашения об именах DNS, которое должно быть выполнено в значении ServerName. Во-вторых, ':' тоже недействителен - поэтому попробуйте использовать его без этих символов или используйте имя хоста - второй способ лучше.
Насколько мне известно, директива ServerName не допускает адреса IPv6.
Он не принимает скобки и двоеточие в адресе IPv6.
Этот формат действителен только для директив Listen, NameVirtualHost и VirtualHost.
В зависимости от вашей конфигурации (например, если вы обслуживаете несколько доменов в одной установке Apache), вы можете попробовать следующее.
Создайте виртуальный хост, как обычно, и вместо определения ServerName с адресом IPv6 определите его с правильным именем DNS (которое на самом деле не обязательно должно существовать).
Теперь уловка состоит в том, чтобы поместить этот виртуальный хост поверх всех остальных виртуальных хостов для этого IP: порта.
Таким образом, когда пользователь делает запрос для домена (или IP в вашем случае), который не обрабатывается Apache, он будет пытаться обслужить запрос, используя первый VirtualHost, который он найдет для этого IP: порта.