使用Ngrok進(jìn)行內(nèi)網(wǎng)穿透(Windows)
前言
相信很多開(kāi)發(fā)者都有這樣的需求履澳,需要讓外網(wǎng)訪問(wèn)你本地的服務(wù)器,方便調(diào)試本地代碼,或者讓別人體驗(yàn)到自己做的應(yīng)用懂算。那么這時(shí),我們需要做的就是將我們本地的端口映射到一個(gè)外網(wǎng)的端口上庇麦,也就是內(nèi)網(wǎng)穿透计技。常見(jiàn)的解決方案有 Ngrok, frp 等。本文將以 Ngrok 為例山橄,講述如何使用 Ngrok 進(jìn)行內(nèi)網(wǎng)穿透垮媒。
Ngrok
Ngrok 是一個(gè)反向代理,通過(guò)在公共端點(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入門(mén)
首先到?Ngrok官網(wǎng)?進(jìn)行下載。
官網(wǎng)
解壓下載后的安裝包呵晚,得到一個(gè)ngrok.exe文件蜘腌。
安裝包
運(yùn)行ngrok.exe文件,可以看到如下界面饵隙,展示的內(nèi)容有該程序的描述撮珠、例子、版本號(hào)、作者芯急、命令行勺届。Ngrok是一個(gè)命令行應(yīng)用,通過(guò)輸入指令娶耍,執(zhí)行相對(duì)應(yīng)的功能免姿。
程序界面
經(jīng)過(guò)上面的步驟,我們已經(jīng)完成了安裝榕酒,接下來(lái)需要做的就是對(duì)ngrok進(jìn)行配置胚膊。我們需要配置authtoken(賬戶憑證)。這時(shí)想鹰,我們需要到?Ngrok官網(wǎng)?注冊(cè)一個(gè)賬號(hào)紊婉,然后在用戶中心里可以查到我們的authtoken(賬戶憑證),authtoken是每個(gè)用戶的身份憑證辑舷,請(qǐng)注意保密喻犁。
賬戶憑證
復(fù)制我們的用戶憑證,并在ngrok命令行中何缓,輸入下面的命令肢础,按回車(chē)鍵執(zhí)行。
(注意:2CZJkTcaAAXzRJx53AnD_6aVs8BBAaybUUpSMTxBCC這一串要換成你自己的authtoken)
ngrok authtoken 2CZJkTcaAAXzRJx53AnD_6aVs8BBAaybUUpSMTxBCC
執(zhí)行成功后碌廓,命令行界面中會(huì)出現(xiàn)下面的信息传轰。此時(shí),代表配置成功氓皱。ngrok程序已經(jīng)在你的用戶目錄下路召,創(chuàng)建一個(gè).ngrok2文件夾,并在文件夾中創(chuàng)建一個(gè)配置文件ngrok.yml波材。
Authtoken saved to configuration file: C:\Users\acer/.ngrok2/ngrok.yml
在命令行界面中股淡,執(zhí)行下面命令,即將本地端口80映射到外網(wǎng)中廷区,如果需要映射其他端口唯灵,只需將80改成相對(duì)應(yīng)的端口即可。
ngrok http 80
執(zhí)行成功后隙轻,會(huì)出現(xiàn)如下界面埠帕,其中紅框標(biāo)出的,即映射出去的外網(wǎng)地址(http://eac71ad7.ngrok.io)玖绿。此時(shí)敛瓷,內(nèi)網(wǎng)穿透已經(jīng)完成,此時(shí)我們便可通過(guò)訪問(wèn)該域名從外網(wǎng)訪問(wèn)本地服務(wù)器了斑匪。
端口映射結(jié)果
注意:該程序需一直保持運(yùn)行呐籽,程序關(guān)閉,映射也將關(guān)閉。如果需要關(guān)閉映射狡蝶,可以使用ctrl + c 或關(guān)閉該界面庶橱,進(jìn)行程序終止。每次重新執(zhí)行命令贪惹,映射外網(wǎng)的域名都會(huì)發(fā)生改變苏章。如果希望域名不變,可通過(guò)開(kāi)通ngrok的會(huì)員服務(wù)奏瞬,具體可在官網(wǎng)進(jìn)行查看枫绅。
擴(kuò)展
ngrok 除了提供端口映射之外,還提供了一個(gè)實(shí)時(shí)的Web UI硼端,您可以在其中查看你的隧道上運(yùn)行的所有HTTP流量撑瞧。在啟動(dòng) ngrok 之后,只需在Web瀏覽器中打開(kāi)http://localhost:4040即可檢查請(qǐng)求詳細(xì)信息显蝌。
當(dāng)我們向公開(kāi)網(wǎng)址發(fā)出請(qǐng)求之后,我們將可以在 Web UI 中看到請(qǐng)求和響應(yīng)的所有詳細(xì)信息订咸,包括時(shí)間曼尊,持續(xù)時(shí)間,標(biāo)題脏嚷,查詢參數(shù)和請(qǐng)求有效負(fù)載以及線上的原始字節(jié)骆撇。
流量監(jiān)控
未完待續(xù)
本文只是對(duì) Ngrok 這個(gè)工具的一個(gè)小入門(mén)而已。隨著對(duì)這個(gè)工具的深扒父叙,發(fā)現(xiàn)這個(gè)工具的功能甚是強(qiáng)大神郊,內(nèi)網(wǎng)穿透只是它最基本的一個(gè)功能,它還有重放請(qǐng)求趾唱,請(qǐng)求正文驗(yàn)證涌乳,重寫(xiě)主機(jī)頭等功能。只要運(yùn)用得好甜癞,還能夠做很多事情夕晓。今天就先到這了,算是一個(gè)拋磚引玉悠咱,希望能讓你對(duì) Ngrok 有一些了解蒸辆。最后附上在官網(wǎng)抄過(guò)來(lái)的幾句話。
Ngrok
One command for an instant, secure URL to your localhost server through any NAT or firewall.
public urls for building webhook integrations
public urls for sending previews to clients
public urls for testing your chatbot
public urls for demoing from your own machine
public urls for SSH access to your Raspberry Pi
public urls for exposeing your local web server
public urls for testing on mobile devices
參考資料
轉(zhuǎn)載自http://www.reibang.com/p/8103f29bbd90