我的 session_store.rb 中有以下配置
Fuel::Application.config.session_store :cookie_store,
:key => "_secure_session",
:secure => !(Rails.env.development? || Rails.env.test?),
:domain => :all
在 application_controller.rb
def default_url_options
return { :only_path => false, :port => 443, :protocol => 'https' }
end
我正在使用设计,我的 rails3 服务器在 HAProxy 后面运行。HAProxy 终止 HTTPS 流量并将 HTTP 请求传递给 Rails。我的问题是当我在 session_store.rb 中打开 :secure => true 时,用户被重定向回登录页面,并显示消息“未授权”。我已经尝试了很多调试它,不知道如何让它工作。
在这种情况下,HAProxy 是终止所有安全流量并将非安全流量传递到 rails 的反向代理。当 rails 将 cookie 设置为安全时,它本身无法访问它。