httpsからmongrelにReverseProxyする
apache2をフロントエンドにして、mongrelをバックエンドにする場合、
通常の場合はいいのですが、httpsをフロントエンドにして、
バックエンドがhttpの場合は相対パスはいいのですが、
redirectなどをすると、httpsのはずの部分がhttpに書き換わってしまい、
リダイレクトに失敗します。
この場合、apache2側でRequestHeaderにX_FORWARDED_PROTOにhttpsを
セットする必要があります。
ProxyRequests Off ProxyPass / http://localhost:3000/ ProxyPassReverse / http://localhost:3000/ RequestHeader set X_FORWARDED_PROTO 'https'
こんな感じでReverseProxyの下あたりに書くといいでしょう。
mod_headersモジュールが必要なので、組み込んでおきます。
a2enmod headers
これでActionControllerのrequest.rbが
よきに計らってhttpsをつけてくれます。