Wymuś SSL dla określonych tras w Rails 3.1
Muszę włączyć SSLwszystkie trasy w mojej aplikacji, z wyjątkiemlanding#index
.
Wconfig/application.rb
, Mam:
config.force_ssl = true
Potem wlanding_controller.rb
, Mam:
force_ssl :except => :index
Jednak wszystkie trasy są nadal przekierowywane dohttps
.
Czy ktoś wie, jak warunkowo wymusić SSL w aplikacji Rails 3.1+?
Rozwiązanie:
Dodaj następujące elementy do swojegoGemfile
:
gem 'rack-ssl-enforcer'
Dodaj następujące elementy do swojegoconfig/application.rb
:
config.middleware.use Rack::SslEnforcer, :except => [ /\/$/ ], :strict => true