Tip: Apache und IPv6

Wer einen Apache mit IPv4 und IPv6 Addressen gleichzeitig betreibt sollte es dringlichst unterlassen die „NameVirtualHost“-direktive in der listen.conf auch für IPv6 Addressen zu benutzen. Wenn man es dennoch tut gibt es, unter umständen, den „tollen“ Effekt das die Verbindung, zu einer so konfigurierten IPv6 Addresse vom Apachen sofort nach dem „GET /“-Request, ohne weiteres Abwarten auf weitere (zum request gehörenden) Angaben geschlossen wird.

 

Auch das trennen der IPv4 und IPv6 sockets hilft nicht!
Das Perfide an der ganzen Sache ist noch folgendes:
Das betrifft nicht den ersten konfigurierten IPv6 (v)Host sondern nur alle weiteren!

Etwas beispielhaftere Erklärung:
Ich habe eine IPv4 Addresse mit mehr als einem vHost. Und für jeden dieser vhosts eine weitere konfig mit einer eigenen IPv6 Addresse.
Alle Addressen stehen mit einer „Listen“ und „NameVirtualHost“-direktive (aus Gewohnheit auch für die IPv6 Addressen) in der listen.conf.
In der vhost konfig dann wie üblich mehrere „virtualhost 178.63.25.61:80“ und entsprechend für die IPv6 Addressen je einen pro Addresse.
Alle IPv4-vhosts funktionieren wie immer. Der erste konfigurierte IPv6-vhost funktioniert auch noch wie er soll. Aber alle weiteren IPv6-vhosts nicht!

 

Beispiel wie man es richtig macht:
listen.conf

Listen 178.63.25.61:80
Listen 178.63.25.61:443

Listen [2a01:4f8:110:6161::5]:80
Listen [2a01:4f8:110:6161::5]:443

NameVirtualHost 178.63.25.61:80
NameVirtualHost 178.63.25.61:443

Hier Achtung: KEIN „NameVirtualHost [2a01:4f8:110:6161::5]:80“ Eintrag! – So wie man es sonst, von IPv4, gewohnt ist. 😉
Auch auf Einträge wie „NameVirtualHost *“ oder „NameVirtualHost *:80“ sollte man verzichten.

Die (v)Host konfig dann weiter wie gewohnt:
vhost.d/midnight-visions.conf

<virtualhost 178.63.25.61:80>
ServerName www.midnight-visions.de
ServerAlias midnight-visions.de
[…]
</virtualhost>

<virtualhost [2a01:4f8:110:6161::5]:80>
ServerName www.midnight-visions.de
ServerAlias midnight-visions.de
[…]
</virtualhost>

<virtualhost 178.63.25.61:443>
ServerName www.midnight-visions.de
ServerAlias midnight-visions.de
SSLEngine on
[…]
</virtualhost>

<virtualhost [2a01:4f8:110:6161::5]:443>
ServerName www.midnight-visions.de
ServerAlias midnight-visions.de
SSLEngine on
[…]
</virtualhost>