使用 IP 和連接埠轉送從任何地方透過網際網路存取我的本地主機網站

使用 IP 和連接埠轉送從任何地方透過網際網路存取我的本地主機網站

抱歉,我是軟體人員,對網路不太了解。我看到了類似的帖子,但我無法通過關注它來使其工作。我在Mac上。我的IP是動態IP。我的 Mac 已連接到無線路由器,該路由器又連接到我的計時器警告調製解調器。我正在 localhost:9000 經營網站。現在,我想從任何地方透過網路造訪該網站。我不關心域名。我直接使用IP位址就可以了。

  1. 我透過存取找到了我的 Mac 的公共 IPhttp://www.whatismyip.com。它給了我 xxxx 作為外部 IP。
  2. 然後我在系統偏好設定的網路中找到了我的本地IP,即192.168.1.2。
  3. 我登入routerlogin.net並新增HTTP連接埠將外部連接埠從9000開始到結束連接埠9000轉發到內部連接埠從9000開始到結束連接埠9000到內部ip 192.168.1.2。

現在我轉到連接到另一個網路的另一台機器(作業系統:windows 8),並輸入 xxxx:9000,但無法存取。然後我嘗試從那台 Windows 電腦上 ping xxxx,但沒有成功,超時。有什麼問題嗎?我的 mac 上的防火牆被停用了。

注意,我沒有靜態IP,它是動態IP。那是問題嗎?必須要靜態IP嗎?

我嘗試的另一件事是,從Windows 8(連接到另一個網路),我去whatismyip.com獲取公共IP,然後去我的Mac並ping它,它起作用了。

然後,我嘗試看看它是否可以在同一網路中工作。因此,我將 Android 手機連接到與 Mac 連接的相同無線路由器。然後我在手機上輸入chrome瀏覽器192.168.1.2,沒用。我輸入了192.168.1.2:9000,沒用。輸入 xxxx:9000,不起作用。但在我的 Android 終端模擬器上,ping 到我的 Mac 的公共 IP xxxx 有效,並且 ping -p 9000 192.168.1.2 也有效。

答案1

我終於找到問題了。問題出在我的 grunt 伺服器(yeoman)。我必須將 gruntfile.js 中的主機名稱從 localhost 更改為 0.0.0.0 以啟用外部存取。

答案2

或者,您可以在兩端安裝 NeoRouter,並避免在路由器上進行連接埠轉發,同時避免每次都必須了解您的公用 IP 位址。

相關內容