我正在尝试在我正在开发的Rails 4项目中使用SslEnforcer
机架中间件。在the documentation of the gem中,据说:
应在SslEnforcer处理标头之前设置Cookie,但由于中间件调用链,应在ActionDispatch :: Cookies之前插入Rack :: SslEnforcer。
所以我按照那里描述的说明操作,并在我的application.rb
文件中使用它:
config.middleware.insert_before ActionDispatch::Cookies, Rack::SslEnforcer
但是,当我运行rake middleware
时,我仍然会收到此订单:
$ rake middleware
use Rack::Sendfile
...
...
use ActionDispatch::Cookies
use ActionDispatch::Session::CookieStore
use ActionDispatch::Flash
use ActionDispatch::ParamsParser
...
...
use Rack::SslEnforcer
...
...
因此Rack::SslEnforcer
中间件未按预期插入ActionDispatch::Cookies
中间件。我也尝试过这样做:
config.middleware.insert_before 0, Rack::SslEnforcer
按预期工作,并首先在中间件堆栈中插入Rack::SslEnforcer
中间件(但我不确定这是一件好事吗?)。
我在这里缺少什么,你知道为什么insert_before
没有按预期工作吗?谢谢你的帮助:)