Nachdem Sie sichergestellt haben, dass Ihre serverseitige Firewall für die eingehende Verbindung an hohen Ports geöffnet ist (dies ist normalerweise der Fall und der Standardport ist 3000, sodass Sie wahrscheinlich nichts tun müssen), müssen Sie den Server auch wie folgt starten:
rails server -b 0.0.0.0
das bindet es an die universelle Adresse. Es bindet localhost
standardmäßig an.
Mit dieser Methode müssen Sie nicht an Port 80 binden, aber Sie können dies mögen:
rails server -b 0.0.0.0 -p 80
(Wenn Sie rvm verwenden, müssen Sie möglicherweise verwenden rvmsudo
)
Um diese Änderung dauerhafter zu machen, bearbeiten Sie Ihre config/boot.rb
und fügen Sie Folgendes hinzu:
require 'rails/commands/server'
module Rails
class Server
def default_options
super.merge(Host: '0.0.0.0', Port: 3000)
end
end
end
Dann sollten Sie nur noch verwenden müssen rails s
Quelle: https://stackoverflow.com/a/29562898/1795429