Dostęp do serwera WWW Nginx na maszynie Wirtualnej CentOS7 hostowanej na Virtualbox w Windows 10

1

Ustawiać:

Pojedyncza maszyna wirtualna CentOS 7.1 działająca na serwerze z systemem Windows 10 Pro (wersja zapoznawcza 10074), w Virtualbox 5 beta 4 (testowana również w wersji 4.3.8). Używanie nginx / 1.9.0 do obsługi statycznych plików HTML.

Maszyna wirtualna jest podłączona do mojego intranetu za pomocą ustawienia NAT w Virtualbox. Przekierowałem porty 22, 80 i 443 z serwera na maszynę wirtualną przy użyciu standardowych ustawień Virtualbox.

Problem:

W maszynie wirtualnej mogę użyć curl, aby pobrać dowolną stronę ( curl localhostprzywraca oczekiwany wynik). Jeśli jednak spróbuję pobrać stronę z serwera Windows hosta lub innych klientów intranetu - albo przez IP, albo hosta lokalnego na hoście, otrzymuję błędy „nie mogę się połączyć” lub „zresetować połączenie”.

Za pomocą netstat na maszynie wirtualnej sprawdziłem, czy nginx nasłuchuje na portach 80 i 443 zarówno na 0.0.0.0, jak i [::]. Sprawdziłem również na serwerze Windows, że porty 80 i 443 są nieużywane, gdy maszyna wirtualna nie działa i są nasłuchiwane, gdy jest uruchomiona.

Access.log sprawdza dzienniki tworzone przez nginx, zawiera tylko moje żądania curl - i nic nie pojawia się w moim error.log.

Jednak uruchamiam również sshd na serwerze (na porcie 22) i mogę się z tym połączyć z dowolnego komputera w moim intranecie (i zewnętrznie, gdy przekierowuję porty na moim routerze internetowym), więc nie wierzę, że to zapora ogniowa kwestia.

Próby rozwiązań:

Próbowałem zarówno otworzyć zaporę systemu Windows, aby umożliwić połączenia przychodzące do portów 80/443, jak i dodać Virtualbox do wyjątków programu. Próbowałem także całkowicie wyłączyć zaporę.

Próbowałem przejść do portów> 1000 na serwerze hosta - ale ponieważ port 22 wydaje się działać dobrze, nie ma to większego sensu.

Niestety nie mogę zmienić połączenia maszyny wirtualnej z NAT na inny typ. Virtualbox nie wydaje się jeszcze obsługiwać mostkowania adapterów w Windows 10 (próbowałem wielu ponownych instalacji i nowej wersji beta).

Nick Moore
źródło

Odpowiedzi:

1

Musiałem użyć, firewall-cmdaby zezwolić na ruch http i https przez zaporę maszyny wirtualnej. Używałyby starsze wersje CentOS iptables.

Nick Moore
źródło