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 localhost
przywraca 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).