Search code examples
ruby-on-railsrubyruby-on-rails-4spreeproduction-environment

Forcing Spree Commerce to disabling SSL in production mode


When I change my app (Spree Commerce) to production mode, the app is running fine, but when I want to go to "/admin" page the server throws me "This webpage is not available" in a chrome browser. Also, I don't know if this is normal, but when the server throws me the error, the server changes the url from

http://localhost:3000/ to https://localhost/

Can anyone help? Do I have to do something to the admin and log-in pages for them to work properly? This is my first time developing with Rails.

As an example, these are the logs that are produced when I try to go to 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)`

Solution

  • Install gem to avoid this problem:

    https://github.com/spree/spree_auth_devise

    Someone had this problem before:

    Spree: Turning off SSL redirects /admin back to site

    Also:

    I had the same issue fixed this by adding:

    Creating a file:

    ../config/initilizers/spree.rb

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

    Seems to work.