What do I need to do to get traffic to my ruby on rails app to use https? I have a certificate installed and if I manually type in \"https://\" in the address bar when accessin
It's pretty easy, and you don't need a gem for it. I blogged how to redirect without www
in rails here. Redirecting to https
is (almost) exactly the same.
class ApplicationController < ActionController::Base
before_filter :redirect_to_https
def redirect_to_https
redirect_to "https://example.com#{request.fullpath}" if !request.ssl? && request.host != "localhost"
end
end
Apply your before_filter on anything that you want to make sure is kept behind the SSL security. I'm usually one for code reuse and gems, but this one is ridiculously simple. Read more about request.protocol. (Note that in the Ruby 1.9.3 / Rails 3.2 environment, the name is request.fullpath
; in some earlier versions, it was request.request_uri
; see the release notes, etc.)