Rails 3.1 ssl используется, даже если я отключил ssl? - PullRequest
6 голосов
/ 26 октября 2011

Я добавил force_ssl в свой ApplicationController и удалил позже, но теперь каждый запрос по-прежнему запрашивается в https.Я пытался добавить config.force_ssl = false ко всем файлам конфигурации в application.rb и environments/development.rb и т. Д., Но это не работает.Когда я перезагружаю сервер, запросы все еще преобразуются в https.Любая подсказка?

Обновления : Это происходит только тогда, когда я запрашиваю корень приложения, например, http://localhost:3000/, однако в моем файле config / rout.rb я указал URL длякорень ясно: root :to => 'home#index'

Ответы [ 5 ]

12 голосов
/ 07 декабря 2011

Вы видите эффект HTTP Strict Transport Security 's max-age, который устанавливается Rack::SSL (который config.force_ssl = true устанавливает) на что-то высокое.

3 голосов
/ 07 декабря 2011

Помимо перезагрузки приложения, вам также необходимо очистить кеш браузера.

1 голос
/ 24 сентября 2014

Для тех, кто до сих пор неясно, вот что я сделал, чтобы добиться цели.

В application_controller.rb:

before_filter :expire_hsts

[...]
private
  def expire_hsts
    response.headers["Strict-Transport-Security"] = 'max-age=0'
  end

В production.rb

config.force_ssl = false

Очистите кэш вашего веб-браузера и все!

0 голосов
/ 15 декабря 2016

если вы используете nginx, посмотрите опцию:

proxy_set_header X-Forwarded-Proto https;

и отключите ее!

0 голосов
/ 03 февраля 2012

yfeldblum абсолютно правильно. Отключить его и заставить Chrome забыть заголовок может быть проблемой.

Вот что я положил в свой config / application.rb

config.middleware.insert_before(Rack::Lock, Rack::SSL, hsts: false, exclude: proc { |env|
  !env['PATH_INFO'].start_with?('/manage')
})

** примечание A: hsts: false является критическим битом

** примечание B: я использую 1.9, поэтому мой синтаксис хеша может отличаться от вашего.

Кроме того, мне пришлось открыть этот URL в Chrome chrome: // net-internals / # hsts и удалить домены, для которых был установлен этот заголовок.

К счастью, это не дошло до производства, потому что Rack :: SSL устанавливает очень длинный срок действия для этого заголовка.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...