Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 在Rails中强制http请求使用SSL_Ruby On Rails_Ruby_Http_Ssl_Https - Fatal编程技术网

Ruby on rails 在Rails中强制http请求使用SSL

Ruby on rails 在Rails中强制http请求使用SSL,ruby-on-rails,ruby,http,ssl,https,Ruby On Rails,Ruby,Http,Ssl,Https,我正在使用Ruby(v2.1.2)在Rails(v4.1.6)上构建的平台上工作,我们正在尝试实施SSL。我该怎么做呢 到目前为止,我有force\u ssl # application_controller.rb force_ssl if: :ssl_configured? def ssl_configured? return false if params[:controller] == 'high_voltage/pages' (Rails.env.development? |

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

到目前为止,我有
force\u 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
这似乎是可行的,因为当我尝试这样做时,它会自动变成

但是,如果我尝试向平台的API部分提交一个JSON post请求,并且URL是
http://
,那么post请求以某种方式返回get请求的结果。但是,当我将URL更改为https://时,post请求会按预期工作。我该如何解决这个问题,以便如果客户机意外地以
http://
的形式提交请求,请求将被重写为
https://


谢谢

您是否看过在生产环境配置中使用
config.force\u ssl=true
?这是更全面的,但也可能导致其他问题