排除不适用于 Rack::SSL

Exclude not working for Rack::SSL

我目前有一个 sinatra 项目,我正在尝试将 SSL 添加到其中,因此我尝试添加 Rack::SSL 效果很好,但我想在开发模式下禁用它。

class Blog < Sinatra::Base
  use Rack::SSL, :exclude => lambda { |env| ENV['RACK_ENV'] != 'production' }
...

这是我的代码,ENV['RACK_ENV'] 在我撬开时返回 'development',但出于某种原因,当我尝试在本地访问我的网站时,它仍在尝试重定向到 https .

这行得通,chrome 只是在我添加之前缓存了重定向,所以我认为它不起作用。在隐身 window 中工作正常。

我上周就被这个搞糊涂了。事实证明,我也启用了 HTTP 严格传输安全 (HSTS),这意味着一旦通过 HTTPS 为网站提供了 cookie,浏览器就会阻止以后对网站的非 HTTPS 版本的任何请求。

我想我会提一下,以防你有同样的情况。