Come impostare apache virtualhost in modo che funzioni con ipv6?


10

Ho un server con 1 indirizzo ipv4 e con pochi indirizzi ipv6. Un dominio viene reindirizzato a ipv4 Un record che ho impostato apache doors.conf in questo modo:

Listen ip.v4.address:80
NameVirtualHost ip.v4.address:80

e file virtualhost:

<VirtualHost ip.v4.address:80>
DocumentRoot /var/www/first/
ServerName first.domain
ServerAlias www.first.domain
ErrorLog ...
CustomLog ...
</VirtualHost>

E tutto funziona bene.

Ora voglio creare un nuovo virtualhost per il secondo dominio con il secondo ip. Ho reindirizzato il secondo dominio al record AAAA ipv6, aggiunto a doors.conf:

Listen [ip.v6.address]:80
NameVirtualHost [ip.v6.address]:80

crea un nuovo file virtualhost:

<VirtualHost [ip.v6.address]:80>
DocumentRoot /var/www/second/
ServerName second.domain
ServerAlias www.second.domain
ErrorLog ...
CustomLog ...
</VirtualHost>

e riavvia Apache. Non si sono verificati errori all'avvio del server ma non funziona. Quando inserisco il secondo dominio nel browser, il server non viene trovato. Quando [ip.v6.address]entro nel sito appare.

Qualsiasi aiuto?


Grazie per l'aiuto a tutti. IPv6 è corretto e ho bisogno di due siti diversi. Ho contattato il mio provider di dominio dove ho impostato questo record AAAA. Hanno detto che possono essere necessarie 24 ore per installarlo e forse qui è il problema. Quando ho impostato un disco l'effetto è stato quasi immediato e ho pensato che AAAA funzionasse allo stesso modo.
sheldy,

Sarebbe bello se tu contrassegnassi la tua risposta preferita come tale, in modo che le persone che hanno cercato di aiutarti ad ottenere un premio per averlo fatto ;-)
Sander Steffann,

Risposte:


12

La configurazione di Apache sembra corretta, ma un po 'più complessa di quanto dovrebbe essere se si desidera che un sito sia raggiungibile sia su IPv4 che su IPv6 (dual stack).

Invece di

<VirtualHost ip.v4.address:80>
...
</VirtualHost>

<VirtualHost [ip.v6.address]:80>
...
</VirtualHost>

tu puoi fare

<VirtualHost ip.v4.address:80 [ip.v6.address]:80>
...
</VirtualHost>

In questo modo i singoli host virtuali ascoltano entrambi gli indirizzi IP. È molto più facile da mantenere!

Se vuoi davvero un sito diverso su IPv6, ovviamente la tua configurazione è corretta.


2
O forse <VirtualHost *: 80>?
Koos van den Hout,

2
Anche questo potrebbe sicuramente funzionare, ma dato che ha esplicitamente specificato gli indirizzi IP nel suo esempio, l'ho fatto anche io. Se non ti interessa davvero l'indirizzo IP e vuoi semplicemente fare tutto dall'host: header, allora la tua soluzione è molto più semplice. Fai attenzione ai siti SSL / TLS. È necessario assicurarsi che l'indicazione del nome del server (TLS / SNI) funzioni per la base utenti.
Sander Steffann,

4

Sembra un errore di risoluzione del nome IPv6 piuttosto che un errore Apache. Verificare che il nome si risolva correttamente all'indirizzo.


3

Il nome viene risolto nell'indirizzo IPv6 corretto? Questo sembra essere un problema nella risoluzione del dominio.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.