使用場景:
在做微信開發(fā)或是調(diào)銀行或支付寶等支付系統(tǒng)的時候,本地想聯(lián)調(diào)但是對方需要可以訪問的域名或是外網(wǎng)IP才可以。但是,在本地如果不在路由器上做映射或是公司沒有固定的外網(wǎng)IP。這種情況怎么辦呢?可以使用ngrok實現(xiàn)內(nèi)網(wǎng)穿透。
什么是ngrok?
為什么要使用ngrok?
Ngrok的安裝
一:必要條件及前期準備
1.1:服務器
這個服務器用來作為ngrok服務器的。必須是公網(wǎng)IP,必須可以正常訪問的(可以在阿里云、騰訊云等國內(nèi)購買,也可以購買國外vps,不建議國外。因為國外的訪問速度不行。Ps:如果想購買阿里云,凱哥有優(yōu)hui的連接)
1.2:域名
這個域名是用來訪問的。
1.3:域名泛解析
什么是域名泛解析呢?就是使用*號代替。如下圖:
需要說明:
比如泛域名使用的是*.ngrok,同時還需要解析一個ngrok的域名。
1.4:下載準備好的安裝腳本
二:進行安裝
2.1:先將按照腳本通過SSH上傳到服務器上。
2.2 進行安裝
2.2.1 執(zhí)行ngrok.sh腳本
切換到腳本目錄。如:cd /home
執(zhí)行./ngrok
根據(jù)提示進行安裝。
輸入一個域名
輸入第一步中準備的域名。
2.2.2 根據(jù)提示,選擇對應的數(shù)字進行操作
說明:
1:凱哥已經(jīng)安裝過了,所以先要進行刪除卸載。
2:最好別選擇1 全新安裝。因為你不知道執(zhí)行到哪一步了。選擇分布執(zhí)行。
3:先選擇2 依賴安裝
依次安裝git、go、ngrok。這里就不演示了
安裝完ngrok后會出現(xiàn):
然后心開一個SSH窗口。生成客戶端
根據(jù)自己系統(tǒng)生成對應的客戶端。
凱哥使用的是windos 64位的。所以就選擇4.
生產(chǎn)完成后,客戶端在 /usr/local/ngrok/bin下
如下圖:
將客戶的下載到本地后。客戶端測試。
三:客戶端測試
3.1:配置客戶端
在客戶端目錄創(chuàng)建ngrok.cfg
配置信息如下:
3.2 啟動
客戶端服務啟動方式
方式一:ngrok -config ngrok.cfg start weixin #啟動名稱為weixin的服務
方式二:ngrok -config ngrok.cfg -subdomain test 127.0.0.1:6888#命令指定方式
3.3:當看到
說明啟動成功。
現(xiàn)在可以在瀏覽器中訪問試試看。如下圖:
可以看到,通過域名訪問。但是實際上訪問的就是本地訪問。
另外分享內(nèi)網(wǎng)穿透服務搭建-JAVA版
前言碎語
內(nèi)網(wǎng)穿透服務在開發(fā)中有很多的應用場景,比如1.和第三方接口本地聯(lián)調(diào)對接,2.本地微信開發(fā)時聯(lián)調(diào)回調(diào)等等。當然,使用場景不止這些,然后有需求就會有 市場就會有產(chǎn)品,付費產(chǎn)品比較著名的有“花生殼”,然后免費的有ngrok,早期博主也分享過國內(nèi)的一些免費的ngrok,詳見《ngrok(微信開發(fā)福利)內(nèi)網(wǎng)穿透神器》。然而,這些免費的ngrok慢慢都停服了或者轉(zhuǎn)向會員收費制了。免費的服務不穩(wěn)定加上流量經(jīng)過別人服務器不安全等因素,或多或少影響了我們使用。今天,博主分享一個用java開發(fā)的開源的軟件lanproxy ,來搭建自己的內(nèi)網(wǎng)穿透服務,徹底告別網(wǎng)上各種搜索免費的ngrok服務了。
lanproxy是什么?
lanproxy是一個將局域網(wǎng)個人電腦、服務器代理到公網(wǎng)的內(nèi)網(wǎng)穿透工具,,在github上面已經(jīng)開源,目前已經(jīng)收到2000多star。目前支持tcp流量轉(zhuǎn)發(fā),可支持任何tcp上層協(xié)議(訪問內(nèi)網(wǎng)網(wǎng)站、本地支付接口調(diào)試、ssh訪問、遠程桌面...)。目前市面上提供類似服務的有花生殼、TeamView、GoToMyCloud等等,但要使用第三方的公網(wǎng)服務器就必須為第三方付費,并且這些服務都有各種各樣的限制,此外,由于數(shù)據(jù)包會流經(jīng)第三方,因此對數(shù)據(jù)安全也是一大隱患。
github坐標 :
https://github.com/ffay/lanproxy
lanproxy原理?
lanproxy是基于java通訊框架
lanproxy下載地址?
服務端:proxy-server.zip
java客戶端:proxy-client.zip,更多客戶端類型,可訪問:
https://seafile.io2c.com/d/3b1b44fee5f74992bb17
啟動server端
準備一臺安裝jdk的服務器(支持linux、windows),需要有外網(wǎng)地址。下載server下來后,解壓proxy-server.zip,進入到bin目錄,執(zhí)行startup.sh腳本就啟動了,默認的訪問端口是8090.用戶名和密碼是admin/admin。可以通過conf/config.properties修改。
訪問http://ip:8090,就可以看到如下頁面了
服務端啟動后,需要添加客戶端信息,客戶端主要生成一個client.key,用來做連接的認證信息的。然后如下圖,選擇 一個客戶端添加端口映射。
客戶端鏈接
客戶端下載下來后,先解壓,目錄結(jié)構和服務端一樣,先去conf/config.properties中把server.host修改為你的服務端ip,服務端端口默認4900不用變。然后把第一步客戶端生成的客戶端密碼配置給client.key。然后啟動bin/startup.bat就可以了。如果連接服務器成功,管理控制臺就會顯示在線。然后就可以使用serverip:xxx來訪問你的內(nèi)網(wǎng)服務了
文末結(jié)語
企業(yè)開發(fā)中,提供一個這樣的內(nèi)網(wǎng)穿透服務真的很有必要。除了自建不需要付費給第三方服務外最重要的還是安全問題。這個lanproxy軟件博主體驗下來非常不錯,所以給大家推薦了






