株式会社エスロジカル
株式会社エスロジカル
セキュリティプロダクツ提供
Web開発、システム開発、UNIXシステム構築

技術ドキュメント

技術ドキュメント目次 -> Apache -> ProxyPass ディレクティブ

本技術ドキュメントは、ここしばらくメンテナンスをしておりません。
内容が古くなっている可能性などございますこと、ご理解を頂けますようお願いいたします。


サイフにやさしいSSL証明書
【低価格SSL証明書】弊社運営の低価格SSL証明書販売サイト、翌月末払いなど請求書払いも可能。


◆ はじめに

ProxyPassディレクティブを用いることで、
俗に 逆プロクシ などと呼ばれているような動作を実装することができます。

具体的には、
リクエストを受け付けた Apache(下の Server A)が、
他サーバー(下の Server B)に proxy 接続して、
他サーバーから取得したコンテンツをクライアントに返します。
(クライアントからは、他サーバーの存在が見えません。)


1. クライアントが、Server A にアクセスする。
2. Server A は、自分のマシン内のファイルを参照せずに、
   Server B に Proxy接続する。
3. Server B は、自分のマシン内のファイルを参照し、
   コンテンツを Server A に返す。
4. Server A が、3.で取得したコンテンツをクライアントに返す。

 (クライアントからは、Server B の存在が見えません。)

    +--------+  1--->  +----------+  2--->  +----------+
    | CLIENT |         | Server A |         | Server B |
    +--------+  <---4  +----------+  <---3  +----------+


なお、
ProxyPassディレクティブを使用するには、
mod_proxy が組み込まれている必要があります。
インストールの際、configure のオプションで、mod_proxyを有効にしておきましょう。

◆ 設定例

ProxyPass /ok24/ http://www.ok24.jp/


上記の1行を httpd.conf に追加するだけで、
ProxyPass の設定は基本的には完了です。

ブラウザを立ち上げて、
http://(設定を行ったマシン)/ok24/
にアクセスすると、 http://www.ok24.jp/ のコンテンツが表示されます。

動作として面白いと思いますので、
ぜひ、動作確認してみてください。

◆ ProxyPassReverse

ProxyPassReverse ディレクティブを用いることで、
ProxyPass にリダイレクトに関する制御を追加できます。

ProxyPass         /ok24/ http://www.ok24.jp/
ProxyPassReverse  /ok24/ http://www.ok24.jp/


上記のように、ProxyPass の指定に ProxyPassReverse を追加することで、
http://www.ok24.jp/ 内の CGIスクリプトなどが、
Location: のヘッダを出力してリダイレクトを行ったとき、
Location: ヘッダ内に含まれるホスト名を書きかえ、
クライアントに Proxy先のマシンのホスト名が見えないように制御することができます。

◆ 絶対パスでのリンクの問題

非常に有用な ProxyPassディレクティブですが、
Proxy先のマシン内のコンテンツが絶対パスでのリンクを行っていたときに、
少々の問題が発生する可能性があります。

ProxyPass         /ok24/ http://www.ok24.jp/


たとえば、上記のように設定していたときに、
http://www.ok24.jp/tech.html のコンテンツ内のリンクに、
<a href="/index.html">トップページ</a> というものがあったとします。

ユーザーが、
http://(ユーザーから見えるホスト名)/ok24/tech.html
にアクセスして、
リンクをクリックすると、
http://(ユーザーから見えるホスト名)/index.html
へジャンプしてしまうため、
ProxyPass の対象にならなくなってしまいます。

ですので、
そのような使い方をするときには、動作確認を慎重に行いましょう。



■ Apache についての他のドキュメント


■ 他のグループのドキュメント

Apache  /  Linux  /  FreeBSD  /  OpenSSL  /  Perl  /  HTTPプロトコル  /  Jakarta Tomcat  /  Java  /  NetBSD  /  Oracle  /  PostgreSQL  /  UNIX の C言語  /  UNIX のコマンド  /  Windows  /  bind  /  システム運用TIPS

アンケートにご協力をお願いいたします。

1. この技術ドキュメントへの評価をご選択ください。
大変良い  良い  普通  悪い  大変悪い  ノーコメント

2. ご感想をご自由にお書きください。



自社運営サイト: SSL証明書 / 改ざん検出 / 暗号化ソフト / RapidSSL / ジオトラスト / ベリサイン / SSL
サイフにやさしいSSL証明書
【低価格SSL証明書】弊社運営の低価格SSL証明書販売サイト、翌月末払いなど請求書払いも可能。


Copyright (C) 2006 Slogical Corporation
お問い合わせ / サイトマップ / 個人情報保護方針