Wadslog

[apache] apacheでリバースプロキシーを設定したときのメモ

Feb 8, 2009

apacheでリバースプロキシの設定をしました。 ■ 条件など ・Apacheのバージョンは2.2.8 ・画像、css、jsなどの静的ファイルについてはリバースプロキシで配信を行う。 ・動的なファイルのときはアプリケーションサーバにリクエストをプロキシする ・画像、css、jsのパスはそれぞれ以下の通り``` wadslab.net/images wadslab.net/css wadslab.net/js


**■ 設定** リバースプロキシの設定を行うのに必要なApacheのモジュールは以下のとおりです。```
mod\_rewrite
mod\_proxy
mod\_proxy\_http

```設定は、リバースプロキシサーバーのhttpd.confとか、httpd.confの下のほうにある```
\# Virtual hosts
#Include conf/extra/httpd-vhosts.conf

```のIncludeの部分をコメントアウトして、httpd-vhosts.confを編集します。 設定の内容は以下のようになります。```
 ServerName wadslab.net

  RewriteEngine On
  RewriteRule ^/(images|css|js|)/ - \[L\]
  RewriteRule ^/(.\*)$ http://192.168.0.100/$1 \[P,L\] 

```これでapacheを再起動すればバースプロキシの設定は終了です。簡単ですね。 一度リクエストをかけた後、リバースプロキシ、アプリケーションサーバの両方でaccess\_logをみて、うまくリクエストを振り分けられたかどうか確認できます。 **■ ssl通信を処理するときの設定** 上記設定は80番のポートに対しての設定だったので、ssl通信についてもリバースプロキシで処理する場合はもう少し設定が必要す。 sslでのリクエストの場合は、私の環境ではhttpd.confを以下のように編集して、```
\# Secure (SSL/TLS) connections
Include conf/extra/httpd-ssl.conf #コメントをはずす

```httpd-ssl.confというファイルで設定をしています。 以下、これを前提に記述します。 sslでリクエストがきた場合、httpd-ssl.conf内の```
 ... 

```のディレクティブの設定が適用されます。 設定自体は、上記ディレクティブ内に```
  RewriteEngine On
  RewriteRule ^/(images|css|js|)/ - \[L\]
  RewriteRule ^/(.\*)$ http://192.168.0.100/$1 \[P,L\]


```と書けばOKです。 設定の通り、リバースプロキシーとアプリケーションサーバ間のリクエストは非sslとなるので、アプリケーション側でsslでのリクエストかどうかを知りたい場合は、ちょっと工夫が必要です。 以下のように、プロキシさせる場合にはヘッダーを設定して、```
RewriteEngine On
RewriteRule ^/(images|img|css|js|favicon\\.ico)/ - \[L\]

RequestHeader set X\_HTTPS 'on'
RewriteRule ^/(.\*)$ http://192.168.23.210/$1 \[P,L\]

```phpの場合は、アプリケーション側で以下のようにして感知できます。```
if($\_SERVER\['HTTPS'\] == 'on' || $\_SERVER\['HTTP\_X\_HTTPS'\] == 'on') {
    $ssl\_req = true;
} 
define('HTTPS', isset($ssl\_req));

```**■ 参考文献** ・[サーバ/インフラを支える技術](http://www.amazon.co.jp/gp/redirect.html?ie=UTF8&location=http%3A%2F%2Fwww.amazon.co.jp%2F24%25E6%2599%2582%25E9%2596%2593365%25E6%2597%25A5-%25E3%2582%25A4%25E3%2583%25B3%25E3%2583%2595%25E3%2583%25A9%25E3%2582%2592%25E6%2594%25AF%25E3%2581%2588%25E3%2582%258B%25E6%258A%2580%25E8%25A1%2593-%7E%25E3%2582%25B9%25E3%2582%25B1%25E3%2583%25BC%25E3%2583%25A9%25E3%2583%2593%25E3%2583%25AA%25E3%2583%2586%25E3%2582%25A3%25E3%2580%2581%25E3%2583%258F%25E3%2582%25A4%25E3%2583%2591%25E3%2583%2595%25E3%2582%25A9%25E3%2583%25BC%25E3%2583%259E%25E3%2583%25B3%25E3%2582%25B9%25E3%2580%2581%25E7%259C%2581%25E5%258A%259B%25E9%2581%258B%25E7%2594%25A8-PRESS-plus%25E3%2582%25B7%25E3%2583%25AA%25E3%2583%25BC%25E3%2582%25BA%2Fdp%2F4774135666%3Fie%3DUTF8%26s%3Dbooks%26qid%3D1231414175%26sr%3D8-1&tag=wadslab-22&linkCode=ur2&camp=247&creative=1211)![](http://www.assoc-amazon.jp/e/ir?t=wadslab-22&l=ur2&o=9)
comments powered by Disqus