2014-01-21 3 views
8

Nach dem Starten meiner Sinatra-Anwendung mit ruby app.rb und foreman start kann ich nicht auf meine Anwendung mit localhost und den entsprechenden Port auf meinem Host-Rechner zugreifen. Ich bin auch in der Lage, curl zu den Anwendungen aus der Shell von auf Gastmaschine, während auf dem Host-Rechner die curl Anfrage fehlschlägt. Soweit ich weiß, sollte auf dem Gastcomputer keine Firewall installiert sein, da ich das Vagrant Ubuntu-Image verwende.Kann nicht auf Sinatra-App auf dem Host-Computer mit Vagrant weitergeleitet Ports

Mein Vagrantfile ist wie folgt:

Vagrant.configure('2') do |config| 
    config.vm.box = 'precise32' 
    config.vm.box_url = 'http://files.vagrantup.com/precise32.box' 
    config.vm.network :forwarded_port, guest: 4567, host: 4567 
end 
+1

Diese _might_ sein, weil standardmäßig im Entwicklungsmodus Sinatra [hört nur localhost] (http://www.sinatrarb.com/configuration#bind---server-hostname-or-ip-address), nicht 0.0. 0.0 (Ich weiß nicht, wie Vagrant die Weiterleitung behandelt und wie der Gast irgendwelche Anfragen sieht). Ist die Verwendung von 'set: bind, '0.0.0.0'' für Ihre App verfügbar? – matt

Antwort

16

standardmäßig, wenn im Entwicklungsmodus, Sinatra only listens to localhost, nicht zu 0.0.0.0 (diese Änderung aufgrund security considerations gemacht wurde) ausgeführt wird.

Um Anfragen von jeder Schnittstelle zuzulassen, fügen Sie entweder set :bind, '0.0.0.0' zu Ihrer App-Datei hinzu oder starten Sie Ihre App mit der Option -o, z. ruby myapp.rb -o 0.0.0.0.

Sie können dies möglicherweise auf die tatsächliche Adresse für den Gast festlegen, aber ich weiß nicht, ob es sich lohnt.

+0

Beim Ausführen über 'shotgun' schien der Befehl': bind' nicht zu funktionieren, aber die Option '-o' funktionierte einwandfrei. – ajsharma

+1

@ajsharma Ich habe es angeschaut und gesehen, dass Shotgun standardmäßig die Host-Option '127.0.0.1' übergibt, damit der '' bind''-Befehl überschrieben wird. [Quellcode] (https://github.com/rtomayko/shotgun/blob/master/bin/shotgun) –

Verwandte Themen