IPv4 NameVirtualHost, IPv6 VirtualHost

Как и у многих из нас, у меня есть сервер Apache (2.2.15, плюс патчи) с большим количеством виртуальных хостов. Конечно, у меня больше, чем у IPv4-адресов, поэтому я использую NameVirtualHost для запуска множества из них на одном и том же IPv4-адресе.

Я усердно пытаюсь получить все, что я делаю, с поддержкой IPv6. Этот сервер теперь имеет маршрутизируемый /64, что дает мне огромное количество адресов v6, которые можно использовать. Я пытаюсь найти простой способ сообщить каждому v4-NameVirtualHost, что он также должен функционировать как VirtualHost по уникальному адресу ipv6. Я действительно, действительно не хочу определять каждый виртуальный хост дважды.

Кто-нибудь знает элегантный способ сделать это? Или сделать что-то сопоставимое в случае, если я включил в свой вопрос какие-то опасно-невежественные предположения?

2 ответа

Решение

Я думаю, что-то вроде этого будет работать (отказ от ответственности: это из головы, я еще не проверял это):

NameVirtualHost 10.0.0.1:80

<VirtualHost 10.0.0.1:80 [2001:db8::1]:80>
   ServerName blabla
   ...
</VirtualHost>

<VirtualHost 10.0.0.1:80 [2001:db8::2]:80>
   ServerName blabla2
   ...
</VirtualHost>

etc...

Самый простой способ - ничего не делать с вашей конфигурацией Apache.

Предполагая, что вы использовали такие директивы, как NameVirtualHost * а также <VirtualHost *:80> тогда Apache ответит за любой виртуальный хост на любом адресе ListenВключение (по умолчанию все возможные адреса).

Если вы не находите приемлемым, чтобы Apache отвечал на любой виртуальный хост на любом возможном IPv6-адресе, вам придется отредактировать свой <VirtualHost> записи, как показано в ответе @SanderSteffann.

Другие вопросы по тегам