天天看點

Ngrok實作内網穿透原生NgrokSunny-Ngrok

目錄

原生Ngrok

下載下傳Ngrok

注冊Ngrok擷取authtoken

準備

使用

Sunny-Ngrok

下載下傳

注冊擷取隧道id

使用

原生Ngrok

下載下傳Ngrok

進入官網https://ngrok.com/download進行下載下傳,Windows系統使用就下載下傳Windows的

Ngrok實作内網穿透原生NgrokSunny-Ngrok

注冊Ngrok擷取authtoken

點選“Sign up"進行注冊

Ngrok實作内網穿透原生NgrokSunny-Ngrok

輸入資訊進行注冊

Ngrok實作内網穿透原生NgrokSunny-Ngrok

注冊出現這個提示,那麼很難注冊成功,因為需要驗證,而在國内是不會出現驗證選項的,是以需要翻牆科學上網。

Ngrok實作内網穿透原生NgrokSunny-Ngrok

科學上網後,就可以注冊了

Ngrok實作内網穿透原生NgrokSunny-Ngrok

注冊成功後跳轉的頁面是這樣的:

Ngrok實作内網穿透原生NgrokSunny-Ngrok

點選左側菜單欄中的"Your Authtoken"中就可以看到我們需要的authtoken了。

Ngrok實作内網穿透原生NgrokSunny-Ngrok

準備

建立一個普通的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運作起,在浏覽器通路結果如下:

Ngrok實作内網穿透原生NgrokSunny-Ngrok

使用

将解壓包進行解壓,隻有一個gnrok.exe檔案

Ngrok實作内網穿透原生NgrokSunny-Ngrok

通過DOS視窗進入到該目錄下

Ngrok實作内網穿透原生NgrokSunny-Ngrok

然後執行如下指令(注意:不同版本的Ngrok的指令是不一樣的,但如果你執行的指令是錯誤的它會給出提示,你根據它提示的例子就可以明白正确的指令了):

# 儲存密鑰到檔案中
ngrok authotoken 密鑰
# 執行内網穿透
ngrok http -subdomain=二級域名 端口号
           
Ngrok實作内網穿透原生NgrokSunny-Ngrok

各參數注釋:

  • 密鑰就是注冊後得到的authtoken
  • 二級域名一般是項目名
  • 端口号一般是8080

例如

Ngrok實作内網穿透原生NgrokSunny-Ngrok
Ngrok實作内網穿透原生NgrokSunny-Ngrok

出現如下界面表示成功了,但是這個界面會一閃而過。

Ngrok實作内網穿透原生NgrokSunny-Ngrok

因為它收費了,提示如下:

Ngrok實作内網穿透原生NgrokSunny-Ngrok

上面的意思是自定義子域名收費了,但是我們可以不自定義子域名啊。

我們隻需要執行如下指令即可,不自定義子域名。

ngrok http 8080
           

執行後效果,表示已經運作成功了,可以通過公網通路

Ngrok實作内網穿透原生NgrokSunny-Ngrok

注意,這裡 http://fa9af50fdb50.ngrok.io等價于http://localhost:8080,它們是可以互相替換的,但前者能夠在公網通路你的項目,但是後者隻能在自己的電腦上通路。

Ngrok實作内網穿透原生NgrokSunny-Ngrok

效果一樣,這樣你的項目的就可以在公網通路了,還可以在DOS視窗中檢視到請求結果

Ngrok實作内網穿透原生NgrokSunny-Ngrok

Sunny-Ngrok

使用國内的Ngrok,網速更快,配置方面也更簡單,而且免費。

下載下傳

國内Ngrok官網位址:https://www.ngrok.cc/

Ngrok實作内網穿透原生NgrokSunny-Ngrok
Ngrok實作内網穿透原生NgrokSunny-Ngrok

解壓後如下:

Ngrok實作内網穿透原生NgrokSunny-Ngrok

注冊擷取隧道id

Ngrok實作内網穿透原生NgrokSunny-Ngrok
Ngrok實作内網穿透原生NgrokSunny-Ngrok
Ngrok實作内網穿透原生NgrokSunny-Ngrok

還需要關注公衆号才能使用

Ngrok實作内網穿透原生NgrokSunny-Ngrok

接着需要開通隧道,可以參考官方教程:https://www.ngrok.cc/_book/general/open.html

Ngrok實作内網穿透原生NgrokSunny-Ngrok

為了測試,買個不付費的

Ngrok實作内網穿透原生NgrokSunny-Ngrok
Ngrok實作内網穿透原生NgrokSunny-Ngrok

确定開通

Ngrok實作内網穿透原生NgrokSunny-Ngrok

開通後如下:

Ngrok實作内網穿透原生NgrokSunny-Ngrok

使用

在安裝目錄下輕按兩下執行"Sunny-Ngrok啟動工具.bat"

Ngrok實作内網穿透原生NgrokSunny-Ngrok

然後輸入隧道id

Ngrok實作内網穿透原生NgrokSunny-Ngrok

回車後就啟動成功,可以使用了,複制網址直接檢視效果

Ngrok實作内網穿透原生NgrokSunny-Ngrok

浏覽器打開網址後,輸入使用者名和密碼

Ngrok實作内網穿透原生NgrokSunny-Ngrok

發現通路不了,出現問題了,因為上面的域名位址映射的是"127.0.0.1:80",而我們本地tomcat項目通常使用的端口号是"8080"

Ngrok實作内網穿透原生NgrokSunny-Ngrok

是以我們要修改端口号

Ngrok實作内網穿透原生NgrokSunny-Ngrok
Ngrok實作内網穿透原生NgrokSunny-Ngrok

修改後重新執行本地的bat檔案,發現映射的端口變成了8080。

Ngrok實作内網穿透原生NgrokSunny-Ngrok

注意,如果本地沒有運作項目,那麼會提示:

Ngrok實作内網穿透原生NgrokSunny-Ngrok

成功映射,實作内網穿透:

Ngrok實作内網穿透原生NgrokSunny-Ngrok

繼續閱讀