web-dev-qa-db-ja.com

IPv4 NameVirtualHost、IPv6 VirtualHost

私たちの多くのように、私は多くの仮想ホストを備えたApacheサーバー(2.2.15とパッチ)を持っています。確かに、私はIPv4アドレスを持っているだけではありません。そのため、NameVirtualHostを使用して、同じIPv4アドレスで多くのアドレスを実行しています。

私はIPv6対応のすべてを手に入れようと忙しくしています。このサーバーには、ルーティングされた/ 64があります。これにより、ひどい多くのv6アドレスをスローすることができます。私が見つけようとしているのは、各v4-NameVirtualHostに、一意のipv6アドレスでVirtualHostとしても機能する必要があることを伝える簡単な方法です。私は本当に、本当に各仮想ホストを2回定義する必要はありません。

誰かがこれを行うためのエレガントな方法を知っていますか?または、危険なほど無知な仮定を質問に埋め込んだ場合に備えて、同等のことを行うにはどうすればよいですか?

4
MadHatter

私はこのようなものがうまくいくと思います(免責事項:これは私の頭の上からです、私はまだこれをテストしていません):

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...
5
Sander Steffann

簡単な方法は、Apache構成に何もしないことです。

NameVirtualHost *<VirtualHost *:80>のようなディレクティブを使用したとすると、ApacheはListeningがオンになっている任意のアドレス(デフォルトではすべての可能なアドレス)上の任意の仮想ホストに応答します。

Apacheが可能なIPv6アドレス上の仮想ホストに応答することが許容できない場合は、 @ SanderSteffannの回答 に示すように<VirtualHost>エントリを編集する必要があります。 。

5
Michael Hampton