很多開發者在開發個人專案的前期,可能都會遇到沒有
公網域名或者公網IP,導致除錯受限的問題。雖然,購買一個伺服器,註冊一個域名,很便宜,也很簡單,但是如果能透過免費的
內網穿透工具,讓外網訪問你本地的伺服器是不是更好呢?
下面我就來介紹下釘釘的免費內網穿透工具。雖然,釘釘官方說此工具主要是用來方便開發者測試對接釘釘,但是如果你只是臨時用做其他合法用途也未嘗不可。
實現原理
上圖是釘釘提供的內網穿透示意圖。從圖中我們可以獲得兩個關鍵資訊,一個是公網域名
abcde。vaiwan。com,一個是本地服務127。0。0。1:8080,這兩個關鍵資訊共同構成了公網與內網的對映,也即當我們訪問abcde。vaiwan。com時,實際上就是訪問我們本地的服務127。0。0。1:8080。
使用方法
釘釘的這個內網穿透工具支援Window系統、Mac系統和Linux系統。
1、下載程式碼:
git clone https://github。com/open-dingtalk/pierced。git
2、
進入對應系統的程式碼目錄,執行如下命令,啟動內網穿透工具,以mac為例:
cd mac_64chmod 777 。/ding。/ding -config=。/ding。cfg -subdomain=abcde 8080
引數說明:
引數
說明
-config
內網穿透的配置檔案,按照命令示例固定為釘釘提供的。/ding。cfg,無需修改
-subdomain
您需要使用的域名字首,該字首將會匹配到“vaiwan。com”前面,例如你的subdomain是abcde,啟動工具後會將abcde。vaiwan。com對映到本地。
埠
您需要代理的本地服務http-server埠,例如你本地埠為8080等
啟動後,介面如下圖所示:
此時,所有對http://abcde。vaiwan。com/xxxxx的訪問都會對映到 http://127。0。0。1:8080/xxxxx上。
不過前提是,我們的內網要成功註冊到釘釘伺服器。如上圖所示。
當我們的內網成功註冊到釘釘伺服器後,釘釘伺服器就可以將我們的請求資料透過訊息通知的方式傳送到內網,達到內網穿透的目的。如上圖所示。
注意
需要訪問的域名是http://abcde。vaiwan。com/xxxxx 而不是http://abcde。vaiwan。com:8080/xxxxx
啟動命令的subdomain引數有可能被別人佔用,儘量不要用常用字元,可以用自己公司名的拼音,例如:alibaba、dingding等。
可以在本地起個http-server服務,放置一個index。html檔案,然後訪問http://abcde。vaiwan。com/index。html測試一下。