IPv4 NameVirtualHost, IPv6 VirtualHost

4

Como muitos de nós, eu tenho um servidor apache (2.2.15, mais patches) com muitos hosts virtuais nele. Mais do que ter endereços IPv4, com certeza, é por isso que uso o NameVirtualHost para executar muitos deles no mesmo endereço IPv4.

Estou ocupado tentando obter tudo o que faço com IPv6 ativado. Este servidor agora tem um roteador / 64, o que me dá um monte de endereços v6 em torno de horrível . O que eu estou tentando encontrar é uma maneira simples de dizer a cada V4-NameVirtualHost que ele também deve funcionar como um VirtualHost em um endereço ipv6 exclusivo. Eu realmente não quero ter que definir cada host virtual duas vezes.

Alguém sabe de uma maneira elegante de fazer isso? Ou fazer algo comparável, caso eu tenha embutido qualquer suposição perigosamente ignorante na minha pergunta?

    
por MadHatter 07.11.2012 / 23:33

2 respostas

5

Eu acho que algo assim irá funcionar (disclaimer: isso é do topo da minha cabeça, eu não testei isso ainda):

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...
    
por 08.11.2012 / 00:35
5

O jeito fácil é não fazer nada na configuração do Apache.

Assumindo que você usou diretivas como NameVirtualHost * e <VirtualHost *:80> , o Apache responderá por qualquer um dos hosts virtuais em qualquer endereço em que ele esteja Listen (todos os endereços possíveis, por padrão).

Se você não achar aceitável que o Apache atenda a qualquer host virtual em qualquer possível endereço IPv6, você acabará tendo que editar suas <VirtualHost> entradas como mostrado em @SanderSteffann's answer .

    
por 07.11.2012 / 23:37