1つのipv4アドレスといくつかのipv6アドレスを持つサーバーがあります。 1つのドメインがipv4にリダイレクトされます。Apacheports.confを次のように設定したレコード:
Listen ip.v4.address:80
NameVirtualHost ip.v4.address:80
およびvirtualhostファイル:
<VirtualHost ip.v4.address:80>
DocumentRoot /var/www/first/
ServerName first.domain
ServerAlias www.first.domain
ErrorLog ...
CustomLog ...
</VirtualHost>
そして、すべてが正常に動作します。
次に、2番目のIPを使用して2番目のドメインの新しい仮想ホストを作成します。 2番目のドメインをipv6 AAAAレコードにリダイレクトし、ports.confに追加します。
Listen [ip.v6.address]:80
NameVirtualHost [ip.v6.address]:80
新しい仮想ホストファイルを作成します。
<VirtualHost [ip.v6.address]:80>
DocumentRoot /var/www/second/
ServerName second.domain
ServerAlias www.second.domain
ErrorLog ...
CustomLog ...
</VirtualHost>
apacheを再起動します。サーバーの起動時にエラーはありませんでしたが、機能しません。ブラウザに2番目のドメインを入力すると、サーバーが見つかりません。 [ip.v6.address]
を入力すると、サイトが表示されます。
何か助けは?
Apacheの設定は正しいように見えますが、1つのサイトにIPv4とIPv6の両方(デュアルスタック)で到達できるようにする場合は、必要以上に複雑になります。
の代わりに
<VirtualHost ip.v4.address:80>
...
</VirtualHost>
<VirtualHost [ip.v6.address]:80>
...
</VirtualHost>
できるよ
<VirtualHost ip.v4.address:80 [ip.v6.address]:80>
...
</VirtualHost>
これにより、単一の仮想ホストが両方のIPアドレスでリッスンします。メンテナンスがはるかに簡単です!
IPv6で別のサイトが本当に必要な場合は、構成はもちろん正しいです。
これは、Apacheエラーではなく、IPv6名前解決エラーのように聞こえます。名前がアドレスに正しく解決されることを確認します。
名前は正しいIPv6アドレスに解決されますか?これはドメイン解決の問題のようです。