透過相同的共享wifi透過行動裝置存取node.js本地伺服器

透過相同的共享wifi透過行動裝置存取node.js本地伺服器

編輯:我以前遇到過這種情況,但後來它與 Apache 相關,但這次我使用NodeJS,所以舊的答案沒有幫助。


我在 Windows 7 上運行apache NodeJS Web 伺服器(在連接埠 80 上)。

http://localhost在 PC 上工作。

但我無法http://192.168.1.4透過手機甚至電腦進行存取。

ipconfig /all在我的電腦上列出我的 IP 位址為 192.168.1.4

Wireless LAN adapter Wireless Network Connection:
    IPv4 Address. . . . . . . . . . . : 192.168.1.4(Preferred)

我可以從 PC ping 手機的(內部)IP 位址 [192.168.1.5],反之亦然,我可以從手機 ping 我的 PC [192.168.1.4]。

那為什麼我無法http://192.168.1.4透過手機存取呢? (或電腦)


防火牆已關閉。

答案1

https://stackoverflow.com/questions/7980995/accesing-internal-web-server-running-node-js/7983852#7983852

我在伺服器上偵聽時指定了主機名稱。

server.listen(80, process.env.OPENSHIFT_NODEJS_IP || process.env.IP || '127.0.0.1')

答案2

需要添加

Listen 192.168.1.4:80

在 Apache 的 httpd.conf 中

答案3

這段程式碼為我解決了這個問題(在我的例子中使用 localhost 新增本地 IP:192.168.1.7)

var app = express();
app.listen(3000,'192.168.1.7' || 'localhost',function() {
    console.log('Application worker ' + process.pid + ' started...');
  }
  );

這樣您就可以從以下位置存取伺服器http://本地主機:3000或者http://192.168.1.7:3000(我的本地IP是192.168.1.7)

相關內容