mode_proxy_balancerとかの設定
もうあまり考えることなく、設定すりゃいいやって思ってたんだけど、意外にハマりました。
AddOutputFilterByType DEFLATE text/html text/plain text/xml NameVirtualHost *:80 <VirtualHost *:80> ServerName www.ホスト名 ServerAdmin webmaster@localhost RequestHeader set X_FORWARDED_HOST 'www.ホスト名' DocumentRoot /home/bar/capistrano/bar/current/public <Directory /home/bar/capistrano/bar/current/public> Options FollowSymLinks AllowOverride None Order allow,deny Allow from all <FilesMatch "\.(js|css)$"> SetOutputFilter DEFLATE </FilesMatch> </Directory> <IfModule mod_proxy.c> <Location /balancer-manager> SetHandler balancer-manager Order deny,allow Deny from all Allow from 127.0.0.1 </Location> ProxyRequests Off ProxyPass /javascripts ! ProxyPass /stylesheets ! ProxyPass /images ! ProxyPass /404.html ! ProxyPass /500.html ! ProxyPass / balancer://cluster/ ProxyPassReverse / balancer://cluster/ ProxyPreserveHost On <Proxy balancer://cluster/> BalancerMember http://127.0.0.1:8000 loadfactor=20 BalancerMember http://127.0.0.1:8001 loadfactor=20 BalancerMember http://127.0.0.1:8002 loadfactor=20 </Proxy> </IfModule> </VirtualHost>
つかっているモジュールは、mod_deflate, mod_proxy, mod_proxy_balancerなんですが、
ハマったのはモジュールではなく、単なる権限の設定。/home/bar/capistrano/bar/current/public/stylesheets にあるcssが403になっちゃって、ちゃんと権限あるじゃん、apacheはbarグループにも追加してあるし!とか悩んでたら、単に/home/bar がグループからアクセスできないだけー。何やってんだ俺。
$ sudo /usr/sbin/getenforce Disabled
とか返ってきてるからよくあるSELinuxハマりパターンでもないので余計に悩みました。
なんか面倒なので、IfModuleとか書かなかったっす。