• ベストアンサー

ラウンドロビン時はApacheでバーチャルホスト設定は必須ですか?

DNSのラウンドロビンで負荷分散を行う場合、 Apacheでバーチャルホストは必須でしょうか? ■構成 Clientは、wwwでwebサーバへアクセス。 | DNS | +------+ |   | www1 www2

質問者が選んだベストアンサー

  • ベストアンサー
回答No.3

障害時のことを考えているようですが、SSL使用となると別名(www2やIPアドレスなど)でアクセスする限り必ず警告画面が出ます。これを避ける為にも、DNSのエントリからwww1のIPアドレスを外して対応するのが本来の姿です。でもそうなると今度はTTLや作業のタイムラグが必ず発生します。 このあたりは費用のかからないDNSラウンドロビンによる冗長化のウイークポイントで、致し方ないところです。(ロードバランサを使えば勝手にやってくれるのですが)。 どうせ警告画面が出るので、ヴァーチャルホストを使わない設定でよいのではないでしょうか。 (DNSには、www1/www2のAレコードも書いておくき、障害時はそちらで直接アクセス。またはIPアドレスでアクセスする) もうちょっと進んだ方法で、Poundでも検討されてはいかがでしょう?

参考URL:
http://www.atmarkit.co.jp/flinux/rensai/apache2_05/apache05a.html
php4
質問者

お礼

SSLを使用した際のデメリットありがとうございます。 とりあえず正常時にストレスなく動作すれば良いので、 ServerNameをwww1,www2 に設定し、ラウンドロビンでwww,www1,www2を設定してみます。 ありがとうございました。

その他の回答 (2)

回答No.2

そういうことでしたか。 ではServerName(バーチャルホストではない部分)に「www」と書いたらどうでしょうか?

php4
質問者

お礼

説明不足ですみません。 ・普段はwwwで ・www1に障害があった場合はwww2で直接指定で アクセスしたい場合、Apacheでは ServerNameで、wwwを指定するのか、 それとも ServerNameで、www1 , www2を指定しておき、 VirtualHostで、wwwと指定すべきなのでしょうか? SSLを使うので、できればVirtualHostを使わずに 済ませたいのですが・・ よろしくお願いします。

回答No.1

ラウンドロビンとバーチャルホストは関係ありません。構成によりますが、必須ではありません。 なぜ必須かと思ったのでしょうか?

php4
質問者

補足

DNSでwwwと指定しているのに、 ApacheのHostName がwww1、www2では うまくアクセスできず、VirtualHostで wwwと指定しなければいけないのではと思ったからです。