ぽっぺん日記@karashi.org
2007-03-29(Thu) [長年日記]
_ www/rubygem-mongrel用daemontools runスクリプト
Railsを動かすためににwww/rubygem-mongrelにインストールしたところ、rc.dスクリプトが付属していなかったので、daemontoolsで管理させることにした。
以下、とりあえず書いてみたrunスクリプト。
#!/bin/sh
exec 2>&1
exec envdir ./env \
sh -c '
exec \
envuidgid www \
mongrel_rails start \
-e "${RAILS_ENV-development}" \
-p "${PORT-3000}" -a "${IP-0.0.0.0}" \
-n "${PROCS-2}" \
-c "${ROOT}"
'
次はwww/rubygem-mongrel_clusterに挑戦したい。
_ Apache + SSL + mod_proxy_balancerのバックエンドでMongrelまたはlighttpdを動かす
フロントエンドでApache + SSL + mod_proxy_balancerを動かして、そのバックエンドで、mongrelなりlighttpdを動かすという構成は結構多いんじゃないかと思うんだが、そのような環境を手元で試していてハマったのでメモ。
ハマったところは、バックエンドのRailsで
redirect_to :action => 'list'
という感じでredirect_toを使っていると、Railsはhttpsで接続されているということは分からないので、httpにリダイレクトされてしまうという問題。
色々とググってみたところ、Mongrel and Rails behind Apache 2.2 and SSLに解決方法が書いてあった。
簡単に書くと、フロントエンドのApacheで
ProxyPass / balancer://rails/
ProxyPassReverse / balancer://rails/
<Proxy balancer://rails>
RequestHeader set X_FORWARDED_PROTO 'https'
BalancerMember http://192.168.0.1:3000
</Proxy>
ってな感じで、
RequestHeader set X_FORWARDED_PROTO 'https'
を書いてやればOKってことらしい。
試してみたら、本当に大丈夫だった。ビバ!
[ツッコミを入れる]
[]
本日のPingbacks(全0件)


まで頂ければ幸いです。
叛逆としての科学―本を語り、文化を読む22章(フリーマン・ダイソン)
ゲバルト時代 SINCE1966-1973 あるヘタレ過激派活動家の青春(中野正夫)