目錄
原生Ngrok
下載下傳Ngrok
注冊Ngrok擷取authtoken
準備
使用
Sunny-Ngrok
下載下傳
注冊擷取隧道id
使用
原生Ngrok
下載下傳Ngrok
進入官網https://ngrok.com/download進行下載下傳,Windows系統使用就下載下傳Windows的
注冊Ngrok擷取authtoken
點選“Sign up"進行注冊
輸入資訊進行注冊
注冊出現這個提示,那麼很難注冊成功,因為需要驗證,而在國内是不會出現驗證選項的,是以需要翻牆科學上網。
科學上網後,就可以注冊了
注冊成功後跳轉的頁面是這樣的:
點選左側菜單欄中的"Your Authtoken"中就可以看到我們需要的authtoken了。
準備
建立一個普通的JavaWeb項目。然後建立一個普通的HelloServlet即可。
@WebServlet("/hello")
public class HelloServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
resp.getWriter().print("Hello Ngrok!");
}
}
使用了@WebServlet注解是以不需要配置web.xml檔案,我們把這個項目使用tomcat運作起,在浏覽器通路結果如下:
使用
将解壓包進行解壓,隻有一個gnrok.exe檔案
通過DOS視窗進入到該目錄下
然後執行如下指令(注意:不同版本的Ngrok的指令是不一樣的,但如果你執行的指令是錯誤的它會給出提示,你根據它提示的例子就可以明白正确的指令了):
# 儲存密鑰到檔案中
ngrok authotoken 密鑰
# 執行内網穿透
ngrok http -subdomain=二級域名 端口号
各參數注釋:
- 密鑰就是注冊後得到的authtoken
- 二級域名一般是項目名
- 端口号一般是8080
例如
出現如下界面表示成功了,但是這個界面會一閃而過。
因為它收費了,提示如下:
上面的意思是自定義子域名收費了,但是我們可以不自定義子域名啊。
我們隻需要執行如下指令即可,不自定義子域名。
ngrok http 8080
執行後效果,表示已經運作成功了,可以通過公網通路
注意,這裡 http://fa9af50fdb50.ngrok.io等價于http://localhost:8080,它們是可以互相替換的,但前者能夠在公網通路你的項目,但是後者隻能在自己的電腦上通路。
效果一樣,這樣你的項目的就可以在公網通路了,還可以在DOS視窗中檢視到請求結果
Sunny-Ngrok
使用國内的Ngrok,網速更快,配置方面也更簡單,而且免費。
下載下傳
國内Ngrok官網位址:https://www.ngrok.cc/
解壓後如下:
注冊擷取隧道id
還需要關注公衆号才能使用
接着需要開通隧道,可以參考官方教程:https://www.ngrok.cc/_book/general/open.html
為了測試,買個不付費的
确定開通
開通後如下:
使用
在安裝目錄下輕按兩下執行"Sunny-Ngrok啟動工具.bat"
然後輸入隧道id
回車後就啟動成功,可以使用了,複制網址直接檢視效果
浏覽器打開網址後,輸入使用者名和密碼
發現通路不了,出現問題了,因為上面的域名位址映射的是"127.0.0.1:80",而我們本地tomcat項目通常使用的端口号是"8080"
是以我們要修改端口号
修改後重新執行本地的bat檔案,發現映射的端口變成了8080。
注意,如果本地沒有運作項目,那麼會提示:
成功映射,實作内網穿透: