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证书无法验证。这对我不起作用。