![使用 IP 和連接埠轉送從任何地方透過網際網路存取我的本地主機網站](https://rvso.com/image/1419579/%E4%BD%BF%E7%94%A8%20IP%20%E5%92%8C%E9%80%A3%E6%8E%A5%E5%9F%A0%E8%BD%89%E9%80%81%E5%BE%9E%E4%BB%BB%E4%BD%95%E5%9C%B0%E6%96%B9%E9%80%8F%E9%81%8E%E7%B6%B2%E9%9A%9B%E7%B6%B2%E8%B7%AF%E5%AD%98%E5%8F%96%E6%88%91%E7%9A%84%E6%9C%AC%E5%9C%B0%E4%B8%BB%E6%A9%9F%E7%B6%B2%E7%AB%99.png)
抱歉,我是軟體人員,對網路不太了解。我看到了類似的帖子,但我無法通過關注它來使其工作。我在Mac上。我的IP是動態IP。我的 Mac 已連接到無線路由器,該路由器又連接到我的計時器警告調製解調器。我正在 localhost:9000 經營網站。現在,我想從任何地方透過網路造訪該網站。我不關心域名。我直接使用IP位址就可以了。
- 我透過存取找到了我的 Mac 的公共 IPhttp://www.whatismyip.com。它給了我 xxxx 作為外部 IP。
- 然後我在系統偏好設定的網路中找到了我的本地IP,即192.168.1.2。
- 我登入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 位址。