Host default para servidor Rails 4.2 e 4.3 de 127.0.0.1 para 0.0.0.0

Você gerou seu ambiente ruby em seu vagrant ou outra máquina virtual e mapeou uma porta para acessar em seu ambiente de desenvolvimento e ele simplesmente não funciona? Mas o servidor está rodando certinho… Como solucionar este problema?

Temos 2 soluções práticas:

A primeira solução é ligar o servidor indicando o ip 0.0.0.0:

rails server -b 0.0.0.0

 

A segunda solução (mais prática) é alterar o arquivo /config/root.rb adicionando o seguinte código:

# Rails 4.2/4.3 default_hot
require 'rails/commands/server'
module Rails
  class Server
    new_defaults = Module.new do
      def default_options
        default_host = Rails.env == 'development' ? '0.0.0.0' : '127.0.0.1'
        super.merge( Host: default_host )
      end
    end

    # OBS: Modulo 'prepend' requer no mínimo Ruby 2.0
    prepend new_defaults
  end
end

 

Não deixe de visitar o  guides.rubyonrails.org para se manter atualizado.

 

3.3 Default Host for rails server

Due to a change in Rack, rails server now listens on localhost instead of 0.0.0.0 by default. This should have minimal impact on the standard development workflow as both http://127.0.0.1:3000 and http://localhost:3000 will continue to work as before on your own machine.

However, with this change you will no longer be able to access the Rails server from a different machine, for example if your development environment is in a virtual machine and you would like to access it from the host machine. In such cases, please start the server with rails server -b 0.0.0.0 to restore the old behavior.

If you do this, be sure to configure your firewall properly such that only trusted machines on your network can access your development server.

(fonte: http://guides.rubyonrails.org/4_2_release_notes.html)

Comments

comments

Você também pode gostar...