FreeBSD/mod_proxy
Apache2でmod_proxyを使う †
Apache2ではApache1.3とmod_roxyの設定方法が変わっていました。
mod_cacheとかを使わないといけないみたいです。
忘れないようにメモ。
環境 †
FreeBSD 6.0
Apache 2.0.55
インストール(Apache2) †
proxyモジュールを組み込んでmakeしなおす。
# cd /usr/ports/www/Apache2 # make install WITH_PROXY_MODULES="YES"
httpd.confの修正 †
# 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の再起動 †
# /usr/local/sbin/apachectl restart
後はWindowsクライアントなどから、Proxyを設定して接続確認を行う。 IEでの設定方法
ソースからインストールする場合 †
# ./configure \ --prefix=/usr/local/apache2 \ --enable-so \ --enable-rewrite=shared \ --enable-ssl \ --enable-speling=shared \ --enable-proxy=shared \ --enable-proxy-http=shared
リバースプロキシとして使用。 †
「内部から外部へのアクセスを中継する」動作と反対であることが「リバース」の由来であると言われている。
この設定で、「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>