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によるリバースプロキシサーバの構築

Similar Posts:


Leave a Reply

Your email address will not be published. Required fields are marked *