我正在为客户完成一个 Rails 4.2 应用程序,并且在生产环境中启用了 force_ssl 选项。现在一切正常,但客户端需要嵌入一个从非安全页面获取的 iframe。这个不安全的页面我无法控制,并且该页面不支持 https .... :/
除了这个控制器操作之外,是否有任何解决方案可以让我在任何地方强制执行 SSL?
谢谢
我正在为客户完成一个 Rails 4.2 应用程序,并且在生产环境中启用了 force_ssl 选项。现在一切正常,但客户端需要嵌入一个从非安全页面获取的 iframe。这个不安全的页面我无法控制,并且该页面不支持 https .... :/
除了这个控制器操作之外,是否有任何解决方案可以让我在任何地方强制执行 SSL?
谢谢
如果您正在谈论整个控制器层次结构中的独特操作,您可以排除此操作。
class ApplicationController
force_ssl except :unique_action_name
end
有关详细信息,请参阅参考资料。
问题解决了!我最终使用https://github.com/tobmatth/rack-ssl-enforcer来设置我需要的 SSL 约束:
config.middleware.use Rack::SslEnforcer, except: '/search', strict: true
force_ssl 控制器类方法很棒,但我实际上需要更细粒度的控制,因为我不需要安全的页面实际上是 CMS 控制器中的用户生成页面。所以我实际上不能排除一个动作,而是一个实际的用户生成的 URL。我知道这听起来可能很奇怪,但它非常适合我奇怪的情况。:)
谢谢!