Ruby on rails 强制Spree Commerce在生产模式下禁用SSL

Ruby on rails 强制Spree Commerce在生产模式下禁用SSL,ruby-on-rails,ruby,ruby-on-rails-4,spree,production-environment,Ruby On Rails,Ruby,Ruby On Rails 4,Spree,Production Environment,当我将应用程序(Spree Commerce)更改为生产模式时,应用程序运行正常,但当我想转到“/admin”页面时,服务器会在chrome浏览器中向我抛出“此网页不可用”。另外,我不知道这是否正常,但当服务器向我抛出错误时,服务器会从 http://localhost:3000/到https://localhost/ 有人能帮忙吗?我是否需要对管理员和登录页面做些什么才能让他们正常工作?这是我第一次使用Rails开发 例如,这些是我尝试转到http://localhost:3000/login

当我将应用程序(Spree Commerce)更改为生产模式时,应用程序运行正常,但当我想转到“/admin”页面时,服务器会在chrome浏览器中向我抛出“此网页不可用”。另外,我不知道这是否正常,但当服务器向我抛出错误时,服务器会从

http://localhost:3000/到https://localhost/

有人能帮忙吗?我是否需要对管理员和登录页面做些什么才能让他们正常工作?这是我第一次使用Rails开发

例如,这些是我尝试转到
http://localhost:3000/login

I, [2014-06-19T17:09:17.368486 #4208]  INFO -- : Started GET "/login" for 127.0.0.1 at 2014-06-19 17:09:17 -0500
I, [2014-06-19T17:09:17.531531 #4208]  INFO -- : Processing by Spree::UserSessionsController#new as HTML
I, [2014-06-19T17:09:17.697253 #4208]  INFO -- : Redirected to https://localhost/login
I, [2014-06-19T17:09:17.697444 #4208]  INFO -- : Filter chain halted as #<Proc:0x00000004f9a0c0@/home/angel/.rvm/gems/ruby-2.0.0-p481/gems/actionpack-4.0.4/lib/action_controller/metal/force_ssl.rb:65> rendered or redirected
I, [2014-06-19T17:09:17.697662 #4208]  INFO -- : Completed 301 Moved Permanently in 166ms (ActiveRecord: 0.0ms)`
I[2014-06-19T17:09:17.368486#4208]信息--:2014-06-19 17:09:17-0500开始登录127.0.0.1
一、 [2014-06-19T17:09:17.531531#4208]信息--:通过Spree进行处理::UserSessionController#新为HTML
一、 [2014-06-19T17:09:17.697253#4208]信息--:重定向到https://localhost/login
一、 [2014-06-19T17:09:17.697444#4208]信息--:过滤器链在渲染或重定向时停止
一、 [2014-06-19T17:09:17.697662#4208]信息--:完成的301在166ms内永久移动(ActiveRecord:0.0ms)`

安装gem以避免此问题:

以前有人遇到过这个问题:

此外:

我也有同样的问题 通过添加以下内容修复了此问题:

创建文件:

../config/initilizers/spree.rb

Spree.config do |config|
  config.allow_ssl_in_production = false #This line
end

似乎有效。

您只需在spree初始值设定项中将
允许\u开发中的\u ssl\u和\u测试设置为
false

初始化者/spree.rb

Spree.config do |config|
  #...
  config.allow_ssl_in_development_and_test = false
  #...
end

注意:SSL要求已在
Spree 3.0
检查发布说明中删除。请发布您的路由和get请求以及错误。同时检查您是否在生产环境中使用SSL!我有带注释符号的“#config.force_ssl=true”,这是我尝试输入
http://localhost:3000/login“
我将在上面编辑我的问题我猜您使用的环境产品配置为使用ssl,这就是为什么localhost中的url正在更改。你必须禁用它。如果粘贴的ssl来自开发,那么就可以了,如果它来自生产,那么您如何运行服务器?rails-s ENV-e生产?首先我导出rails_ENV=production,然后我为生产数据库进行迁移。我在
production.rb中将行
config.force_ssl=true
更改为false,但服务器仍在将我重定向到httpsI。如果已经安装了gem,Spree似乎在强制我使用ssl选项,但我不知道在哪里更改该选项。那么我粘贴的初始值设定项呢?谢谢!它救了我一天