poundのsslとの併用
poundでsslを使った場合でも、railsからはpoundがhttpでアクセスしてくるように見えるので、
redirect_toやurl_forが生成するURLのプロトコルはhttpになってしまう。
プロトコルを変更するには、コントロールでdefault_url_optionsをオーバーライドする。
def default_url_options(options) {:protocol => "https://"} end
poundでバックエンドサーバへのリクエストヘッダにX-Forwarded-Protoをつけて、
SSLでのリクエストだよとmongrelに教えてあげることができる。
X-Forwarded-Protoがhttpsの場合、redirect_toやurl_forが生成するURLのプロトコルも
httpsになる。よって、上で書いた {:protocol => "https://"} の処理は不要。
pound.cfg
AddHeader "X-Forwarded-Proto: https" HeadRemove "X-Forwarded-Proto"