前言:當(dāng)我們本地開發(fā)、聯(lián)調(diào)微信支付、微信小程序、微信公眾等的一些功能的時(shí)候,可能需要外網(wǎng)訪問你的本地服務(wù),方便調(diào)試本地代碼。那么這時(shí),我們需要做的就是將我們本地的端口映射到一個(gè)外網(wǎng)的端口上,也就是內(nèi)網(wǎng)穿透。常見的解決方案有 Ngrok, frp 等.
Ngrok
Ngrok 是一個(gè)反向代理,通過在公共端點(diǎn)和本地運(yùn)行的 Web 服務(wù)器之間建立一個(gè)安全的通道,實(shí)現(xiàn)內(nèi)網(wǎng)主機(jī)的服務(wù)可以暴露給外網(wǎng)。Ngrok 可捕獲和分析所有通道上的流量,便于后期分析和重放,所以 Ngrok可以很方便地協(xié)助服務(wù)端程序測(cè)試。Ngrok希望幫人節(jié)省更多的時(shí)間去編程。只需一個(gè)命令,便可將一個(gè)本地服務(wù)器暴露在NAT或防火墻后面的互聯(lián)網(wǎng)。
Ngrok 安裝與使用
-
首先官網(wǎng)網(wǎng)下載
image.png -
解壓下載后的安裝包,得到一個(gè)ngrok.exe文件。
image.png -
運(yùn)行ngrok.exe文件,可以看到如下界面,展示的內(nèi)容有該程序的描述、例子、版本號(hào)、作者、命令行。Ngrok是一個(gè)命令行應(yīng)用,通過輸入指令,執(zhí)行相對(duì)應(yīng)的功能。
image.png -
經(jīng)過上面的步驟,我們已經(jīng)完成了安裝,接下來需要做的就是對(duì)ngrok進(jìn)行配置。我們需要配置authtoken(賬戶憑證)。這時(shí),我們需要到 Ngrok官網(wǎng) 注冊(cè)一個(gè)賬號(hào),然后在用戶中心里可以查到我們的authtoken(賬戶憑證),authtoken是每個(gè)用戶的身份憑證,請(qǐng)注意保密。
image.png 復(fù)制我們的用戶憑證,并在ngrok命令行中,輸入下面的命令,按回車鍵執(zhí)行。
ngrok authtoken 212jLiCqm6Q9ruSgL0jcAnRtM4d_3Eoki
- 執(zhí)行成功后,命令行界面中會(huì)出現(xiàn)下面的信息。此時(shí),代表配置成功。ngrok程序已經(jīng)在你的用戶目錄下,創(chuàng)建一個(gè).ngrok2文件夾,并在文件夾中創(chuàng)建一個(gè)配置文件ngrok.yml。
Authtoken saved to configuration file: C:\Users\zdxf/.ngrok2/ngrok.yml

- 在命令行界面中,執(zhí)行下面命令,即將本地端口80映射到外網(wǎng)中,如果需要映射其他端口,只需將80改成相對(duì)應(yīng)的端口即可。
ngrok http 80
- 執(zhí)行成功后,會(huì)出現(xiàn)如下界面,其中紅框標(biāo)出的,即映射出去的外網(wǎng)地址(http://7dd9-222-90-31-156.ngrok.io)。此時(shí),內(nèi)網(wǎng)穿透已經(jīng)完成,此時(shí)我們便可通過訪問該域名從外網(wǎng)訪問本地服務(wù)器了。
image.png
- 執(zhí)行成功后,會(huì)出現(xiàn)如下界面,其中紅框標(biāo)出的,即映射出去的外網(wǎng)地址(http://7dd9-222-90-31-156.ngrok.io)。此時(shí),內(nèi)網(wǎng)穿透已經(jīng)完成,此時(shí)我們便可通過訪問該域名從外網(wǎng)訪問本地服務(wù)器了。
擴(kuò)展
ngrok 除了提供端口映射之外,還提供了一個(gè)實(shí)時(shí)的Web UI,您可以在其中查看你的隧道上運(yùn)行的所有HTTP流量。在啟動(dòng) ngrok 之后,只需在Web瀏覽器中打開http://localhost:4040即可檢查請(qǐng)求詳細(xì)信息。
當(dāng)我們向公開網(wǎng)址發(fā)出請(qǐng)求之后,我們將可以在 Web UI 中看到請(qǐng)求和響應(yīng)的所有詳細(xì)信息,包括時(shí)間,持續(xù)時(shí)間,標(biāo)題,查詢參數(shù)和請(qǐng)求有效負(fù)載以及線上的原始字節(jié)。





