Rails 3.1 настроен для запуска приложения параллельно с HTTP и HTTPS - PullRequest
0 голосов
/ 02 января 2012

Как вы, ребята, настроили ваше приложение Rails 3.1 для параллельного запуска HTTP и HTTPS на производстве?

Также, как вы разделяете сеанс между HTTP и HTTPS?

Спасибо

1 Ответ

1 голос
/ 10 марта 2012

Я использую bartt / ssl_requirement , что позволяет вам обеспечить определенные действия, например:

class ApplicationController < ActionController::Base
  include ::SslRequirement
end

class AccountController < ApplicationController
  ssl_required :signup, :payment
  ...
end

Для путей вы просто устанавливаете :secure => true:

<% form_tag session_path(:secure => true), :class => 'home_login' do -%>

Чтобы отключить в разработке, добавьте это в блок конфигурации config/environments/development.rb:

  config.after_initialize do
    SslRequirement.disable_ssl_check = true
  end  

И если вы используете защищенный поддомен, как я в Heroku, вы можете добавить это в config / сред /production.rb:

config.after_initialize do
  SslRequirement.ssl_host = 'secure.example.com'
end

, а также от :domain => :all до config/initializers/session_store.rb, поэтому сеанс является общим для всех доменов.например:

MyAppName::Application.config.session_store :cookie_store, key: '_myappname_session', :domain => :all
...