2016-12-07 135 views
-1

我最近得到了node.JS 我一直在看的所有教程告訴我去本地主機查看應用程序,我使用的是端口2000.我明白localhost也是我的ip .. 192.168.0.1:2000,我有調制解調器設置端口轉發端口2000,但服務器仍然無法從其他網絡訪問。請幫忙。那麼我怎樣才能從其他網絡訪問我的網站?如何從其他網絡訪問我的網站?

//app.js 
var express = require('express'); 
var app = express(); 
var serv = require('http').Server(app); 

app.get('/',function(req, res) { 
    res.sendFile(__dirname + '/client/index.html'); 
}); 
app.use('/client',express.static(__dirname + '/client')); 

serv.listen(2000); 
console.log("Server started."); 
+3

錯誤的論壇,但無論如何。當您嘗試從其他網絡訪問它時,您需要使用您的傳出IP,而不是本地。你是?另外,我懷疑你的portforwarding是不正確的。您需要將端口2000轉發到承載nodejs程序的機器。不要到192.168.0.1,因爲那是你的路由器本地ip – Aidin

+0

對不起,我犯了一個錯誤私人IP實際上是192.168.0.2。如何在節點js中使用我的公共ip? – Bob

+0

看到我發佈的鏈接。另外,請在這裏插入你的nodejs代碼。 – Aidin

回答

1

據我所知,本地主機也是一樣的我的IP .. 192.168.0.1:2000

它不是。網絡上的計算機通常具有多個IP地址。

localhost將指向回送接口(通常位於127.0.0.1::1)。

192.168.0.1是一個私人IP地址(因此它可能是您的局域網上的一臺機器)。雖然不太可能是您的計算機的WiFi或以太網接口的地址。它通常由路由器使用。

您需要:

  1. 確認是否192.168.0.1是您的計算機或沒有的IP地址(如果有的話得到正確的地址)
  2. 確保端口轉發配置爲指向正確的解決了正確的端口
  3. 確保您的Node.js應用程序是正確的網絡接口上偵聽(你可能已經寫它,所以它僅偵聽localhost
  4. 確保當您嘗試從外部訪問網絡中,您正在使用面向公衆的路由器的IP地址

請注意,某些路由器不會讓您從網絡內部訪問其面向外部的IP地址,因此您可能必須從外部機器你的網絡。

+0

對不起,輸入的私有IP地址實際上是192.168.0.2。端口轉發配置爲更正地址。我如何確保Node.js正在監聽正確的網絡接口?是的,我一直在我的網絡之外的機器上進行測試。 (過馬路上的朋友家) – Bob

+0

@Bob這裏你去:http:// stackoverflow。com/questions/8325480/set-up-node-so-it-is-external-visible – Aidin

+0

謝謝,雖然 – Bob

相關問題