2017-06-01 123 views
0

我遇到了端口轉發的一個奇怪問題。我已經使用了很多次,似乎沒有任何問題(Ubuntu guest,Ubuntu主機)。VirtualBox端口轉發問題

我現在正在處理一個問題,其中一個特定的基於NodeJS的服務器將捲曲在來賓但不是主機,儘管端口轉發設置在該端口上。我正在同一個盒子上運行另一臺服務器(在客戶端和主機上有不同的端口),所以我知道這不是virtualbox等的系統問題。

我發現了許多端口轉發問題和很多解決方案,但他們都沒有爲我工作。我檢查過我的防火牆不是問題。我試過運行tcp和udp。我嘗試將端口從3000更改爲8123,我知道過去我已成功使用該端口。我試過幾乎所有可能的配置0.0.0.0和127.0.0.1。

基本上,我沒有想法,並尋找其他的東西來嘗試。還有什麼可能導致這種類型的問題?還有其他的調試策略可以嘗試嗎?

回答

1

好吧,我解決了這個問題,將Express服務器設置爲監聽IP爲0.0.0.0而不是127.0.0.1。

端口轉發適用於特定的網絡適配器。您會注意到,在設置中,端口轉發按鈕實際上位於特定NIC的選項卡上。

VirtualBox Network Settings

當你的代碼偵聽127.0.0.1,它綁定到只回送虛擬適配器。它必須綁定到您要端口轉發的網絡適配器。您可以直接綁定到該接口的地址,或使用0.0.0.0來收聽任何適配器。一旦你完成了,你的端口轉發到該特定的適配器將工作。

0

好吧,我解決了這個問題,通過設置Express服務器監聽IP爲0.0.0.0而不是127.0.0.1。一旦我改變了,主機訪問工作(在127.0.0.1和0.0.0.0上)。

我還是不明白,但希望這個信息可以幫助別人以後。