ツッコミ大歓迎!間違等ありましたらご指摘ください! / はてダはこちらで書いてます。
rails | |
![]()
すでにApacheがSSLで動いているサーバに、ちょっとRailsのアプリを追加したかったのですが、Fastcgiが若干めんどうそう&バグあり(?)みたいなので、あんまりお手軽に、みたいな感じでなさそうです。そこで、もうちょっとお手軽そうな方法で、ApacheはProxyにして、基本Mongrelで動作させようと思いました。で、ちょっとハマってすぐ解決したので、書いておきます。ハマりどころはSSL特有のところなので、普通はここではハマらないかも。
まずApacheの設定に
RequestHeader set X_FORWARDED_PROTO 'https' ProxyPass /app http://127.0.0.1:3000/app ProxyPassReverse /app http://127.0.0.1:3000/app
の3行追加(VirtualHostとか使っている場合は、その辺りとか、適宜で)で、Mongrelは、
$ mongrel_rails start -d -p 3000 -e production --prefix /app
とかで起動すると(ここでは--prefix /appがポイント)
https://example.com/app
とかからアクセスできます。apacheの設定の方の、X_FORWARDED_PROTOがポイントです。これが無いと、Railsアプリがリダイレクト返すときとかにhttpのままになってハマります。
以下参考にさせていただきました: