【问题标题】:Force SSL for http requests in Rails在 Rails 中为 http 请求强制使用 SSL
【发布时间】:2018-04-30 03:46:19
【问题描述】:

我正在开发一个在 Rails(v4.1.6) 上使用 Ruby(v2.1.2) 构建的平台,我们正在尝试实施 SSL。我该怎么做?

到目前为止,我有force_ssl

# application_controller.rb

force_ssl if: :ssl_configured?

def ssl_configured?
  return false if params[:controller] == 'high_voltage/pages'
  (Rails.env.development? || Rails.env.test?) ? false : true
end

这似乎可行,因为当我尝试执行 http://www.somecoolsite.com 时,它会自动变为 https://www.somecolesite.com

但是,如果我尝试向我们平台的 API 部分提交 JSON 发布请求,并且 URL 是 http://,则发布请求会以某种方式返回获取请求的结果。但是当我将 URL 更改为 https:// 时,发布请求按预期工作。我将如何解决这个问题,以便如果客户不小心将他们的请求提交为http://,它会被重写为https://

谢谢!

【问题讨论】:

    标签: ruby-on-rails ruby http ssl https


    【解决方案1】:

    您是否考虑过在生产环境配置中使用 config.force_ssl = true?这要包罗万象,但也可能导致其他问题。

    【讨论】:

      猜你喜欢
      • 2014-08-31
      • 1970-01-01
      • 2014-05-29
      • 2015-09-16
      • 2012-07-16
      • 2020-12-02
      • 2017-08-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多