Zugriff auf einen Nginx-Webserver auf einer CentOS7-VM, die auf Virtualbox in Windows 10 gehostet wird

Zugriff auf einen Nginx-Webserver auf einer CentOS7-VM, die auf Virtualbox in Windows 10 gehostet wird

Aufstellen:

Eine einzelne CentOS 7.1 VM, die auf einem Windows 10 Pro-Server (Vorschauversion 10074) in Virtualbox 5 Beta 4 (auch getestet auf 4.3.8) läuft. Verwendung von nginx/1.9.0, um statische HTML-Dateien bereitzustellen.

Die VM ist über die NAT-Einstellung in Virtualbox mit meinem Intranet verbunden. Ich habe die Ports 22, 80 und 443 mit den Standardeinstellungen von Virtualbox vom Server an die VM weitergeleitet.

Problem:

Innerhalb der VM kann ich curl verwenden, um jede Seite abzurufen ( curl localhostbringt das erwartete Ergebnis zurück). Wenn ich jedoch versuche, die Seite vom Windows-Hostserver oder einem anderen Client des Intranets abzurufen – entweder über IP oder den lokalen Host auf dem Host – erhalte ich die Fehlermeldungen „Verbindung nicht möglich“ oder „Verbindung zurückgesetzt“.

Mithilfe von netstat auf der VM habe ich bestätigt, dass nginx auf den Ports 80 und 443 sowohl auf 0.0.0.0 als auch auf [::] lauscht. Ich habe außerdem auf dem Windows-Server überprüft, dass die Ports 80 und 443 unbenutzt sind, wenn die VM nicht läuft, und abgehört werden, wenn sie läuft.

Beim Überprüfen der von nginx erstellten Protokolle enthält access.log nur meine Curl-Anfragen – und in meinem error.log erscheint nichts Relevantes.

Ich verwende jedoch auch SSHD auf dem Server (auf Port 22) und kann von jedem Rechner in meinem Intranet aus eine Verbindung damit herstellen (und extern, wenn ich die Ports an meinem Internet-Router weiterleite). Daher glaube ich nicht, dass es sich hier um ein Firewall-Problem handelt.

Lösungsversuche:

Ich habe versucht, sowohl die Windows-Firewall zu öffnen, um eingehende Verbindungen über die Ports 80/443 zuzulassen, als auch Virtualbox zu den Programmausnahmen hinzuzufügen. Ich habe auch versucht, die Firewall vollständig zu deaktivieren.

Ich habe versucht, auf dem Hostserver auf Ports > 1000 zu wechseln – aber da Port 22 einwandfrei zu funktionieren scheint, macht das nicht viel Sinn.

Leider kann ich meine VM-Verbindung nicht von NAT auf einen anderen Typ ändern. Virtualbox scheint Adapter-Bridging in Windows 10 noch nicht zu unterstützen (ich habe mehrere Neuinstallationen und die neue Betaversion ausprobiert).

Antwort1

Ich musste verwenden, firewall-cmdum HTTP- und HTTPS-Verkehr durch die Firewall der VM zuzulassen. Ältere Versionen von CentOS würden verwenden iptables.

verwandte Informationen