Убедившись, что брандмауэр на стороне сервера открыт для входящего соединения на высоких портах (это обычно так, и порт по умолчанию - 3000, так что вам, вероятно, ничего не нужно делать), вы также должны запустить сервер следующим образом.:
rails server -b 0.0.0.0
, которая связывает его с универсальным адресом.По умолчанию он привязывается к localhost
.
. При использовании этого метода вам не нужно привязываться к порту 80, но вам может понравиться это:
rails server -b 0.0.0.0 -p 80
(Если выЕсли вы используете rvm, вам может понадобиться rvmsudo
)
Чтобы сделать это изменение более постоянным, отредактируйте ваш config/boot.rb
и добавьте:
require 'rails/commands/server'
module Rails
class Server
def default_options
super.merge(Host: '0.0.0.0', Port: 3000)
end
end
end
Тогда вам нужно только использовать rails s
Источник: https://stackoverflow.com/a/29562898/1795429