カテゴリー:
Rails
タグ:
 SSL

このエントリーをはてなブックマークに追加
更新日時:
2011年12月19日(月)
作成日時:
2011年12月19日(月)

前の記事 / 次の記事

後で混乱しそうなのでまとめ。

Railsが3.1以上でかつ例外なくhttpsにするなら

・Rails3 で HTTPS を使うには
http://d.hatena.ne.jp/willnet/20110524/1306212796

config/environments/production.rb の

config.force_ssl = true

のコメントを外す、これだけで機能する。

ページごとにhttpとhttpsを使い分けるなら(Rails3.1未満でもたぶん大丈夫)

・Rails でSSLを使用する
http://matatabi-on-rails.blogspot.jp/2010/03/using-ssl-with-rails.html

Gemfile で

gem 'ssl_requirement'

して、application_controller.rb で

include SslRequirement

して、各コントローラーで

:ssl_required => :new
:ssl_allowed  => :edit

とかする、意味はそれぞれ

:ssl_required => # https強制
:ssl_allowed  => # http、https 共存
#指定無し     => # http強制

本番環境でのみsslを動かしたい場合は、application_controller.rb とかに

protected
def ssl_required?
  Rails.env.production?
end

とすればSslRequirementのメソッドをオーバーライド出来る。
で、この値がtrueの時のみsslが有効になる。