Ich habe CentOS 6 auf einer Vagabundbox mit einer privaten Netzwerk-IP eingerichtet. Ich kann mit der IP in die Box ssh, damit das funktioniert. Beim Einrollen wird jedoch eine Verbindung an Port 80 abgelehnt. Es gibt einen sehr einfachen Nginx, der seine Standard-Begrüßungsseite enthält. Das Einrollen aus der Box heraus funktioniert.
Vagrant.configure("2") do |config|
config.vm.box = "Centos-6.3-minimal"
config.vm.box_url = "https://dl.dropbox.com/u/7225008/Vagrant/CentOS-6.3-x86_64-minimal.box"
config.vm.network :private_network, ip: "192.168.33.44"
config.vm.hostname = "local.example.com"
config.vm.provider :virtualbox do |vb|
vb.customize ["modifyvm", :id, "--memory", "2048"]
end
end
Hier sind einige Dinge, die ich versucht habe:
- Wechsel zur Portweiterleitung 80 -> 8080. Curling on
localhost:8080
hängt einfach da. - Versuch einer anderen IP-Adresse. Kein Unterschied.
- Öffnen eines
python -m SimpleHTTPServer
auf dem Server, von dem bekannt ist, dass er ihn abhört0.0.0.0
. Die Verbindung wird immer noch abgelehnt.
Diese Dinge funktionieren bekanntermaßen:
- SSHing auf dem Server unter Verwendung der angegebenen privaten Netzwerk-IP funktioniert.
- Das Einrollen aus der Box heraus funktioniert.
- Das gleiche Setup funktioniert auf einem realen Server.
Ich habe Guest Additions installiert, aber ihre Versionen unterscheiden sich bei Gast und Host. Das könnte das Problem sein. Aber warum funktioniert SSH und nicht Port 80? Dies ist die Ausgabe, wenn ich dies tue vagrant reload
: https://gist.github.com/magnars/496e553f07ad5c770c54
Aktualisieren
Dies funktioniert zwar nicht:
config.vm.network :forwarded_port, guest: 80, host: 8080
Das macht:
ssh -f [email protected] -L 8080:127.0.0.1:80 -N
Irgendwelche Ideen?
Das gleiche Problem wurde gelöst, indem die Firewall im Gasthost deaktiviert wurde
Und Sie können verwenden
iptables --list
, um zu überprüfenquelle