Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/61.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 试图从应用程序控制器强制重定向到https_Ruby On Rails - Fatal编程技术网

Ruby on rails 试图从应用程序控制器强制重定向到https

Ruby on rails 试图从应用程序控制器强制重定向到https,ruby-on-rails,Ruby On Rails,可能重复: 我的应用程序控制器中有: before_filter :redirect_to_ssl! def redirect_to_ssl! redirect_to "https://" + request.host + request.fullpath if !request.ssl? && Rails.env.production? end 然而,当我在生产模式下使用https://查看我的站点时,它会进入重定向循环。。。似乎是request.ssl?返回fals

可能重复:

我的应用程序控制器中有:

before_filter :redirect_to_ssl!

def redirect_to_ssl!
  redirect_to "https://" + request.host + request.fullpath if !request.ssl? && Rails.env.production?
end

然而,当我在生产模式下使用https://查看我的站点时,它会进入重定向循环。。。似乎是request.ssl?返回false,即使我使用的是https协议。。。。。现在,当我查看我的站点时,浏览器确实警告我无法验证我的ssl证书-我想知道这是否是request.ssl的原因?返回false?什么是好的解决方法?我是否应该检查request.protocol==https://?

是否在控制器中不执行此操作

相反,在config/environments/production.rb和任何其他要使用SSL的环境中,执行以下操作:

config.force_ssl = true

阅读更多信息。

请勿在控制器中执行此操作

相反,在config/environments/production.rb和任何其他要使用SSL的环境中,执行以下操作:

config.force_ssl = true

阅读有关的详细信息。

不幸的是,这也会导致重定向循环…您是否从应用程序控制器中删除了重定向?如果你有任何其他重定向,介意发布代码吗?是的,我从app controller中删除了它。。。没有其他重定向。。问题一定在于无法验证SSL证书。这对我不起作用。不幸的是,这也会导致重定向循环…您是否从应用程序控制器中删除了重定向?如果你有任何其他重定向,介意发布代码吗?是的,我从app controller中删除了它。。。没有其他重定向。。问题一定在于SSL证书无法验证。这对我不起作用。