1. 業務場景
- 當我們的專案是部署在本地的時候,如何讓其他使用者(不在同一個區域網之下)來進行呼叫呢?這時我們就可以使用內網穿透將自己的IP通過對映成相應的地址,然後再通過對映後的地址來進行訪問本地的專案。
2. 什麼是內網穿透?
- 內網穿透:就是將自己的內網IP暴露到公網環境中,也可以說是將自己的電腦放在公網之中。
3. 如何使用內網穿透?
-
3.1 下載natapp應用程式(選擇自己的版本Mac、Windows)
-
3.2 到https://natapp.cn/進行註冊登入,得到自己的
authtoken
-
3.3 可以到https://natapp.cn/article/natapp_newbie去檢視圖文教程
-
注意事項
在用Mac執行時可能會遇到無許可權問題。 -
3.4.把之前的應用程式下載解壓至任意目錄下,得到natapp如何執行natapp。
- window下,直接雙擊
natapp.exe
即可. - 在Linux/Mac 下 需要先給執行許可權
chmod a+x natapp
- 然後再執行即可
./natapp
- window下,直接雙擊
4. 實際案例
-
這兒先提供一個springboot-demo.jar(也就是SpringBoot打的jar包),能夠提供本地服務。
-
啟動服務:執行jar包,使用命令:
java -jar springboot-demo.jar
或者寫一個bat檔案,裡面包含java -jar springboot-demo.jar
命令,這樣就可以直接雙擊bat檔案啟動應用。 -
示例:這兒建立的是
springboot-server.bat
檔案
雙擊執行即可,如下: -
主要用到如下截圖中的介面地址進行測試,預設埠8080。
-
本地服務地址:
http://localhost:8080/hello
執行結果如下:
在3.3步驟操作完成之後,應該會得到一個authtoken
如下:
接著,把得到的authtoken
值配置到config.ini
檔案中去,如下:
切記:config.ini
與natapp.exe
要在同級目錄下
雙擊natapp執行,啟動之後如下:
這裡的http://j8rjma.natappfree.cc
地址就相當於http://localhost:8080
,http://j8rjma.natappfree.cc
這個地址被對映到了http://localhost:8080
上。此時,只要有外網的地方訪問http://j8rjma.natappfree.cc/hello
就能訪問到本機服務。
測試結果: