這里我就不闡述linux系統(tǒng)中的客戶端如何啟動了(考慮到需要此文的同學(xué)應(yīng)該都是初學(xué)者磨淌,所以開發(fā)環(huán)境多數(shù)為windows宏蛉,或者估計初學(xué)linux系統(tǒng)不久)奥吩,根據(jù)《CentOS7 ngrok下載时捌、編譯亏吝、安裝》此文中對windows的客戶端的編譯方式店诗,我們會在bin目錄中找到一個叫做:
windows_amd64的目錄裹刮,其中就有編譯好的ngrok.exe文件,我們可以通過sftp庞瘸、scp等方式(后開文討論)將其獲取到我們的開發(fā)機器中的windows系統(tǒng)內(nèi)捧弃。
例如我這里這樣的情況:
其中ngrok.exe就是我們的客戶端,而ngrok.bat這是待會我們要創(chuàng)建的啟動腳本,而ngrok.cfg這是客戶端的配置文件违霞,而.log及.log.???這是使用.bat批處理腳本啟動時嘴办,加入的日志記錄。
我這里時在C盤創(chuàng)建了一個交ngrok_windows這樣一個文件夾买鸽,然后將ngrok.exe放入其中后涧郊,再
開始創(chuàng)建ngrok.bat
ngrok.bat腳本內(nèi)容如下:
這里可以粘貼復(fù)制:
C:/ngrok_windows/ngrok.exe -log=ngrok.log -config=ngrok.cfg -subdomain=vkchow 80
我這里調(diào)用可執(zhí)行文件(ngrok.exe)的時候使用的是絕對路徑,這個大家可以改改癞谒。
分別說明一下后面的參數(shù)意思:
-log參數(shù)用于指定ngrok的日志內(nèi)容底燎,有些時候一些錯誤,我們可以通過日志進行分析弹砚。所以這個還是很有必要的双仍。
-config參數(shù)用于指定載入的配置文件,前面我們已經(jīng)看到客戶端文件夾中桌吃,我有一個ngrok.cfg文件朱沃,待會我們會說明配置文件的內(nèi)容。
-subdomain參數(shù)用于指定我們映射到外網(wǎng)后茅诱,訪問的子域名逗物,例如服務(wù)器端我綁定的域名是ngrok.gamecc.cn那么這里的subdomain設(shè)置的vkchow,說明我們本地映射的外網(wǎng)訪問域名則為:vkchow.ngrok.gamecc.cn后面的80這是說明訪問要訪問的本地http服務(wù)的端口瑟俭,一般都是80號端口翎卓。
然后將上面的腳本內(nèi)容保存到ngrok.bat文件中即可。
啟動我們只需要用鼠標(biāo)雙擊運行ngrok.bat文件即可摆寄。
然后運行效果如下:
如果Tunnel Status顯示為online失暴,為綠色,那么說明我們的管道已經(jīng)開始工作了微饥,如果是紅色的reconnecting逗扒,而且如果一直顯示,基本上說明我們的服務(wù)器端或者客戶端什么地方有問題了欠橘。具體的問題估計得具體說矩肩,這里先不討論。
如果我們還沒有做nginx轉(zhuǎn)發(fā)代理得話肃续,那么我們就得按照Forwarding中得地址去訪問黍檩,上圖中
http://vkchow.ngrok.gamecc.cn:1983 -> 127.0.0.1:800 我們不需要理會端口800這個事情,依然是80就是了痹升。
上面說的就是一個映射關(guān)系建炫,意思就是http://vkchow.ngrok.gamecc.cn:1983這個外網(wǎng)域名通過管道映射后,可以在外網(wǎng)直接訪問我鏈接了外網(wǎng)得局域網(wǎng)內(nèi)網(wǎng)中我的本機127.0.0.1(localhost)的http服務(wù)疼蛾。
那么如果后面通過設(shè)置nginx的轉(zhuǎn)發(fā)代理,我們也可以正常的只是用域名即可艺配,因為例如向微信的接口必須使用80端口察郁,如果不設(shè)置nginx代理的話衍慎,那么后面我們這樣搭設(shè)的服務(wù)器做微信開發(fā),就沒有意義了皮钠,因為微信執(zhí)行通過80端口稳捆。。麦轰。-_-!!
/////////////////////
現(xiàn)在這里貼出ngrok.cfg配置文件內(nèi)容:
server_addr: "ngrok.gamecc.cn:4443"
trust_host_root_certs: false
/////////////////////
前面說到的乔夯,如果ngrok客戶端一直reconnecting的話,我之前在架設(shè)ngrok服務(wù)器的時候也出現(xiàn)了這個問題款侵,我最后問題是出在證書的生成上末荐,所以在服務(wù)器端編譯前,請一定要搞對證書生成時候的域名新锈,以及ngrokd啟動時候的域名甲脏,兩個一定得對得上。