1. ngrok簡(jiǎn)介
**ngrok 是一個(gè)反向代理,通過(guò)在公共的端點(diǎn)和本地運(yùn)行的 Web 服務(wù)器之間建立一個(gè)安全的通道。ngrok 可捕獲和分析所有通道上的流量,便于后期分析和重放。ngrok **不但提供了一個(gè)在外網(wǎng)能夠安全的訪問(wèn)內(nèi)網(wǎng)Web主機(jī),還能捕獲所有請(qǐng)求的http內(nèi)容,方便調(diào)試,甚至還支持tcp層端口映射,不局限于某一特定的服務(wù)。支持Mac OS X,Linux,Windows平臺(tái)。
簡(jiǎn)單來(lái)說(shuō):就是通過(guò)ngrok,你在外網(wǎng)也可以訪問(wèn)自己的家里電腦跑的Web應(yīng)用。
2. ngrok基本使用(僅http隧道協(xié)議)
1). ngrok下載
從官網(wǎng):https://ngrok.com/ 下載**ngrok **,下載對(duì)應(yīng)系統(tǒng)的程序。

2). 注冊(cè)ngrok賬號(hào)
然后,在官網(wǎng)注冊(cè)一個(gè)賬號(hào),登錄之后會(huì)獲得取官方分配一個(gè)authtoken密鑰(圖中第2節(jié)中authtoken后面打碼部分)。

3). 連接ngrok賬號(hào)
首先,使用cmd 到ngrok.exe的目錄下如圖:

輸入命令:
ngrok -authtoken 密鑰

運(yùn)行完命令之后,會(huì)生成一個(gè)ngrok配置文件,此時(shí)ngrok賬號(hào)連接配置已經(jīng)配好了。
3). ngrok開啟隧道
同樣,在ngrok.exe的目錄下打開cmd,運(yùn)行如下命令:
ngrok http 端口
例如:ngrok http 80
當(dāng)出現(xiàn)下圖所示的時(shí)候,表示已經(jīng)開啟了隧道。

此時(shí),可以在外網(wǎng)訪問(wèn)內(nèi)網(wǎng)的Web應(yīng)用了,將瀏覽器訪問(wèn)地址由localhost:[端口號(hào)]換成下圖中所示的地址即可:

注: 由于免費(fèi)賬號(hào)不提供自定義二級(jí)域名設(shè)置,所以這里的二級(jí)域名由ngrok隨機(jī)生成
如果有權(quán)限設(shè)置二級(jí)域名的話,用如下命令開啟隧道即可:
ngrok http -subdomain=[二級(jí)域名] [端口號(hào)]
效果如下:
