• ベストアンサー

Apache の連携について

Apache1.3系で、部分的にサイトを2台のApacheで処理をしたいと考えています。 具体的に言うと http://www.example.com/ -> サーバAで処理 http://www.example.com/xxxx/ -> サーバBで処理 このように、サーバAにもサーバBにもApache1.3系が入っているとして このような連携が可能でしょうか?

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

  • ベストアンサー
  • anmochi
  • ベストアンサー率65% (1332/2045)
回答No.1

 リバースプロクシを使うと擬似的にこの動きをシミュレートする事が可能だ。まず、サーバAでHTTPプロクシサーバとして動作できるように設定する。mod_proxyとか。ここでは、サーバAのIPアドレスを192.168.1.x、サーバBを192.168.1.yとする。さらに、http://www.example.com/xxxx/の実コンテンツはサーバBのルート(http://192.168.1.y/)で提供しているものとする。さらに、サーバBは直接インターネットからの参照はできない物とする(その方がセキュリティ上都合が良いのでお勧めだ)。 サーバAのhttpd.confで、 ProxyPass /xxxx http://192.168.1.y ProxyPassReverse /xxxx http://192.168.1.y という行を追加する。  これで、http://www.example.com/xxxx/index.htmlにアクセスするがあると、まずサーバAが受け、プロクシパスによってhttp://192.168.1.y/index.htmlにプロクシアクセスし、コンテンツをクライアントに転送する。  ここで、例えばサーバBコンテンツ内のリンクが<a href="http://192.168.1.y/img.jpg">(絶対URL)や<img src="/img/title.gif">(絶対パス)などとなっている場合にクライアントで上手く扱えるように、サーバAのプロクシがプロクシパスリバースによってURLの書き換えを行う。はず。多分。

extend_j
質問者

お礼

ありがとうございます。 Apacheのモジュールのmod_proxyあたりをしっかりと勉強すれば なんとかなりそうですね。試してみます。

すると、全ての回答が全文表示されます。

関連するQ&A