Apacheのmod_proxyを使ってみる

Apacheでリバースプロキシを使うにゃmod_proxyというモジュールを有効にする必要がありんしてその経過です。

まだまだローカルで試しているだけで、本番環境ではまだ使っていないです。
途中経過になるのかな。
httpd.confの中にProxy Server directivesからEnd of proxy directivesというディレクティブがあり、そこでProxyの設定ができる。
まったく気付いてなかったが、Proxyのディレクティブの中にmod_cacheがネストされていた。

Apacheの構成が3つのセクションとディレクティブが何個か集まったものだというのも、今回知りました。

LoadModule proxy_module      modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so

<IfModule mod_proxy.c>
ProxyRequests Off

<IfModule mod_cache.c>
   CacheIgnoreCacheControl On
   CacheIgnoreNoLastMod On
   CacheStoreNoStore On
   CacheStorePrivate On
   CacheEnable mem /
 </IfModule>

 <IfModule mod_mem_cache.c>
   MCacheSize 1310720
   MCacheMaxObjectCount 100000
   MCacheMinObjectSize 1
   MCacheMaxObjectSize 1310720
   MCacheMaxStreamingBuffer 1310720
 </IfModule>
<Proxy *>
  Order deny,allow
  allow from all
</Proxy>
</IfModule>

<VirtualHost *:80>
  ServerName 192.168.211.***
  DocumentRoot /var/www/html/wordpress
  ProxyPass /wp-content/ http://192.168.211.***/
  ProxyPassReverse /wp-content/ http://192.168.211.***/
</VirtualHost>

こんな設定になっていて、上から説明すると

まずプロキシのモジュールを有効に。
ここからmod_proxyの記述。
OFFにする事でリバースプロキシを有効に。
キャッシュの設定、これはメモリキャッシュです。

アクセスの制御です。
Proxyの記述はここまで。

バーチャルホストの中に
リバースプロキシが有効になるパスを記述しています。
ProxyPassとProxyPassReverseの2つは必要で、この設定だと/wp-content/というWordpressのテーマとか画像とかが入ったディレクトリになっていて、そこへのアクセスはリバプロが有効になって分散されるという設定です。

さぐりさぐりの作業なので、効果がいまいち分かりませんが、ログの設定はしていないのでローカルからのアクセスも見受けられているので、動作はしている様子です。

本番環境では、confファイルはそれぞれ独立してincludeされているので、また違った記述になってしまいますが、まあ何とかなるかな。

 

ようやくApacheのリバプロの設定までやってきました、全く使いこなせていないですが、イメージはあるので何とかなるかな。
山場?になりそうなApacheの複数稼動も少しは調べていっていますが、ポートを変える必要があるようで、ただ複数起動しただけでは使い物にはならなさそう。
リバプロの合わせ技が必須になりそうです、順序よく行きませう。

 

私生活でも特に劇的な変化はないですが、ちりも積もれば山になるかもね。

 

リバプロの参考サイト

Pukiwiki  Apache/リバースプロキシ
maruko2 Note. Apache/リバースプロキシ
サイブリッジメモ リバースプロキシとメモリキャッシュ
プラスター業務日記 Apache でリバースプロキシの設定

FreeStyleWiki   Apacheによるリバースプロキシサーバの構築