FreeBSD/mod_proxy の変更点


*''&size(15){Apache2でmod_proxyを使う};'' [#s04234b7]
Apache2ではApache1.3とmod_roxyの設定方法が変わっていました。~
mod_cacheとかを使わないといけないみたいです。~
忘れないようにメモ。~

#contents

*''環境&aname(A);'' [#pfbbcc83]
FreeBSD 6.0~
Apache 2.0.55~
~

*''インストール(Apache2)''&aname(B); [#i21c8dea]
proxyモジュールを組み込んでmakeしなおす。~
 # cd /usr/ports/www/Apache2
 # make install WITH_PROXY_MODULES="YES"
~
*''httpd.confの修正''&aname(C); [#ja6b08d5]
 # vi /usr/local/etc/apache2/httpd.conf
 -------------------追加個所-----------------------
 LoadModule cache_module libexec/apache2/mod_cache.soLoadModule disk_cache_module libexec/apache2/mod_disk_cache.so
 LoadModule proxy_module libexec/apache2/mod_proxy.so
 LoadModule proxy_connect_module libexec/apache2/mod_proxy_connect.so
 LoadModule proxy_ftp_module libexec/apache2/mod_proxy_ftp.so
 LoadModule proxy_http_module libexec/apache2/mod_proxy_http.so
 
 <IfModule mod_proxy.c>
    ProxyRequests On
    ProxyVia On
    ProxyBlock www.akusitu.com www.sukebei.com
 
    <Directory proxy:*>
        Order deny,allow
        Deny from all
        Allow from 192.168.0
    </Directory>
 
 </IfModule>
 
 <IfModule mod_cache.c>
     <IfModule mod_disk_cache.c>
 
     CacheRoot "/usr/local/www/proxy"
     CacheEnable disk /
     CacheDirLevels 5
     CacheDirLength 3
     CacheSize 500
     CacheGcInterval 4
     CacheMaxExpire 24
     CacheLastModifiedFactor 0.1
     CacheDefaultExpire 1
 
     </IfModule>
 </IfModule>
 
  -------------------追加個所-----------------------

*''Apacheの再起動''&aname(D); [#w99ef186]
 # /usr/local/sbin/apachectl restart

後はWindowsクライアントなどから、Proxyを設定して接続確認を行う。
[[IEでの設定方法>Windows/Proxy]]

**ソースからインストールする場合 [#hdada590]
 # ./configure \
 --prefix=/usr/local/apache2 \
 --enable-so \
 --enable-rewrite=shared \
 --enable-ssl \
 --enable-speling=shared \
 --enable-proxy=shared \
 --enable-proxy-http=shared

*リバースプロキシとして使用。 [#pec93840]
「内部から外部へのアクセスを中継する」動作と反対であることが「リバース」の由来であると言われている。

この設定で、「php4.matsui.net」にアクセスすると、8080ポートにアクセスできる。
この設定で、「php4.matsui.net」にアクセスすると、「http://127.0.0.1:8080」にアクセスできる。

 LoadModule proxy_module       modules/mod_proxy.so
 LoadModule proxy_http_module  modules/mod_proxy_http.so
 
 <IfModule mod_proxy.c>
         ProxyRequests Off
         <Proxy *>
                 Order deny,allow
                 #Deny from all
                 #Allow from .your_domain.com
         </Proxy>
 </IfModule>
 
 <VirtualHost *:80>
         ServerName php4.matsui.net
         ProxyPass / http://127.0.0.1:8080/
         ProxyPassReverse / http://127.0.0.1:8080/
 </VirtualHost>