如何配置设计使用http登录页面而不是https?

时间:2017-01-02 11:07:08

标签: ruby-on-rails-4 authentication url-redirection

对于登录页面,Devise会自动插入https。 (这是预期的行为) 如何删除重定向网址的https中的“s”?

此外,我尝试通过nginx将http流量从http重定向到https,但是nginx日志不会显示任何传入的https流量。

183.82.107.33 - - [02/Jan/2017:07:41:42 +0000] "GET /users/sign_in HTTP/1.1" 302 115 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537.36"
183.82.107.33 - - [02/Jan/2017:07:41:42 +0000] "\x16\x03\x01\x00\xCA\x01\x00\x00\xC6\x03\x03,(\x13\xA2*\x04\xF9\x96\x8F\xE9&\xA4\xDAV\xB4pc\xBE\x9C\x88cn\xDF`[m\xED\xD8\xBB\xEC\xDA\xE9\x00\x00\x22\xC0+\xC0/\xC0,\xC00\xCC\xA9\xCC\xA8\xCC\x14\xCC\x13\xC0\x09\xC0\x13\xC0" 400 181 "-" "-"
183.82.107.33 - - [02/Jan/2017:07:42:00 +0000] "GET / HTTP/1.1" 200 1325 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537.36"

并且Rails日志显示:

I, [2017-01-02T10:24:28.885989 #5856]  INFO -- : Started GET "/hotels" for 127.0.0.1 at 2017-01-02 10:24:28 +0000
I, [2017-01-02T10:24:28.953156 #5856]  INFO -- : Processing by HotelsController#index as HTML
I, [2017-01-02T10:24:28.962421 #5856]  INFO -- : Completed 401 Unauthorized in 9ms

我添加了Rails.application.routes.default_url_options[:protocol] = "http"config/environments/production.rb,但没有改变任何东西。

所以,我的config/environments/production.rb看起来像是:

Rails.application.configure do
  config.cache_classes = true
  config.eager_load = true
  config.consider_all_requests_local       = false
  config.action_controller.perform_caching = true
  config.serve_static_assets = false
  config.assets.js_compressor = :uglifier
  config.assets.compile = true
  config.assets.digest = true
  config.force_ssl = false
  config.log_level = :info
  config.i18n.fallbacks = true
  config.active_support.deprecation = :notify
  config.log_formatter = ::Logger::Formatter.new
  config.active_record.dump_schema_after_migration = false
end
Rails.application.routes.default_url_options[:protocol] = "http"

,我的config/initializers/devise.rb看起来像是:

Devise.setup do |config|
  config.mailer_sender = 'please-change-me-at-config-initializers-devise@example.com'
  require 'devise/orm/active_record'
  config.case_insensitive_keys = [ :email ]
  config.strip_whitespace_keys = [ :email ]
  config.skip_session_storage = [:http_auth]
  config.stretches = Rails.env.test? ? 1 : 10
  config.reconfirmable = true
  config.expire_all_remember_me_on_sign_out = true
  config.password_length = 8..128
  config.reset_password_within = 6.hours
  config.scoped_views = true
  config.sign_out_via = :delete
end

这会起作用的方式?

0 个答案:

没有答案