2012-01-02 12 views
0

Rails 3.1アプリケーションを実稼働環境でHTTPとHTTPSを同時に実行するように設定する方法を教えてください。Rails 3.1がHTTPとHTTPSと並行してアプリケーションを実行するように設定されました

また、HTTPとHTTPSのセッションをどのように共有しますか?あなたはそのような特定のアクション、確保することができます私はbartt/ssl_requirementを使用

おかげ

+0

アプリをHTTPモードまたはHTTPSモードで実行できる場合、HTTPSを使用する理由は?あなたの目標は何ですか? – Zabba

+0

特に、ログインとサインアップにHTTPSを使用したいと思っています。メインページは安全でないコンテンツが含まれているためHTTPにリダイレクトされ、セキュリティは必要ありません。他のページは、ユーザーに応じてHTTPSまたはHTTPのいずれかになります。 – davicta

答えて

1

:パスについては

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の上で行うようにあなたが安全なサブドメインを使用する場合は、設定/環境/ production.rbにこれを追加することができます。config/initializers/session_store.rb

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

など:domain => :allので、セッションは全体で共有されていますすべてのドメイン。例:

MyAppName::Application.config.session_store :cookie_store, key: '_myappname_session', :domain => :all 
関連する問題