*

【Apache】 ReverseProxy(リバースプロキシ)を設定してサブディレクトで別サーバーの内容を表示

公開日: : Apache


今回はApacheのリバースプロキシ設定について紹介したいと思います。この方法を使うと、urlのあるサブディレクトリについて、別サーバーに構築してあるwebサーバーの内容を表示することができます。

前提条件

リバースプロキシを利用するにはmod_proxyを有効にする必要があります。httpd.confでコメントアウトされている場合は、コメントアウトを外してください。

test.comのhttpd.conf設定

まず、test.comというドメインについて/var/www/html/testをドキュメントルートとしてアクセスできるように設定をします。

・httpd.conf

DocumentRoot "/var/www/html/test"
ServerName test.com
ErrorLog "logs/test.com_error.log"
CustomLog "logs/test.com_access.log" common

ブラウザで

test.comにアクセス ⇒ /var/www/html/test/index.html
test.com/proxyにアクセス ⇒ /var/www/html/test/proxy/index.html

が表示されるかと思います。

ここでリバースプロキシの設定を追加してtest.com/proxy以下については別サーバーに構築済みのhttp://proxy.test.comを参照するように変更します。
・httpd.conf

DocumentRoot /var/www/html/test
ServerName test.com
ErrorLog "logs/test.com_error.log"
CustomLog "logs/test.com_access.log" common

ProxyPass /proxy http://proxy.test.com
ProxyPassReverse /proxy http://proxy.test.com

これにより、

test.comにアクセス ⇒ /var/www/html/test/index.html
test.com/proxyにアクセス ⇒ http://proxy.test.com/index.html

が表示されるようになります。

test.com/proxy 以下の参照場所を変更しているのでtest.com/proxy/aaa/bbb等、下位階層にアクセスした場合も、/var/www/html/proxy 以下のディレクトリが参照されるようになります。

一部のサブディレクトリについてサーバーごと分離することができます。

ただし、サイトを個別に公開した場合と違い、必ずリバースプロキシを設定しているwebサーバーを経由することになるので、http://test.com のwebサーバーにアクセスが集中することになります。実際にどれほどの負荷となるのかなどは分かりませんが、あまりに大量のサイトを設定するような場合は注意が必要かもしれません。
負荷計測等については今後試してみたいと思います。

また、aliasの設定ど同様にrewriteやredirectを設定していて、proxyの対象としたいpathがrewrite等の対象となっていると、rewriteが有効となってしまい、proxyが効かなくなってしまいますので注意が必要です。

ad_right_top

関連記事

blog_logo_small

Apache:サーバー起動時の自動起動設定

linuxサーバーでサーバー起動時にApacheを自動起動する為の設定です。chkconfigをon

記事を読む

blog_logo_small

【Apache】 Aliasを設定してサブディレクトでDocumentRoot以外を参照する

今回はApacheのAlias設定について紹介したいと思います。この方法を使うと、あるサブディレクト

記事を読む

blog_logo_small

Apache:KeepAliveの設定

ブラウザでwebページを表示する場合、htmlに加えて複数のcssやjavascriptなどのファイ

記事を読む

blog_logo_small

Apache:CentOSへのApacheインストール

linuxサーバーへのapacheのインストール手順について掲載します。   環境

記事を読む

blog_logo_small

Apache:configファイルのチェック

Apacheの設定を変更することは良くあるかと思いますが、記述を間違えていて起動エラーでサーバーを止

記事を読む

blog_logo_small

Apache:mod_rewriteでURLを正規化

今回はApacheの「 mod_rewrite」を使用してURLの正規化の方法を掲載します。

記事を読む

google以外広告

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

ad_right_top

linux-pen
【cron】秒間隔で定期実行する為の設定方法

コマンドを定期実行させたい場合に利用するcronですが、普通に利用する

blog_logo_small
【Apache】 ReverseProxy(リバースプロキシ)を設定してサブディレクトで別サーバーの内容を表示

今回はApacheのリバースプロキシ設定について紹介したいと思います。

blog_logo_small
【Apache】 Aliasを設定してサブディレクトでDocumentRoot以外を参照する

今回はApacheのAlias設定について紹介したいと思います。この方

no image
2015:新年のご挨拶

明けましておめでとうございます。 昨年はたくさんの方々に当ブログ

blog_logo_small
MySQL:外部ホストからのDBアクセス方法

MySQLではデフォルトで外部ホストからのアクセスを許可していないので

→もっと見る

  • アクセスカウンター
PAGE TOP ↑