內網穿透工具——ngrok使用教程

ngrok介紹

許多剛學Javaweb的同窗(包括我本身)確定都很是好奇,如何在外網上訪問本身作的項目,跟咱們本地訪問tomcat有什麼區別?java

今天就向你們介紹一個很是強大的外網映射工具:ngrok.ngrok能夠把你的本地ip(127.0.0.1|localhost)映射成一個公網域名,這樣全部人均可以經過這個域名來訪問你的項目,這個功能對本地調試,特別是微信公衆號開發帶來了極大的便利.web

示例: 
http://localhost:8080/項目名/ -> http://**.ngrok.com/項目名windows

ngrok版本說明

此處要介紹三個ngrok版本:ngrok,tunnel,sunny-ngrok.tomcat

第一個版本是國外開發的原生ngrok版本,這個版本將咱們的本地ip映射到一個二級域名上,這個域名有兩種形式:自定義主機名和系統分配主機名(主機名爲最左邊的部分,好比咱們平時常常看到的www).這個版本有兩個缺陷:
1.系統分配的主機名是動態分配的,即每一次開啓都會不同,因此每次訪問的時候都要記住不同的域名,這很蛋疼. 
2.這個域名是在國外的,因此訪問速度會至關慢服務器

第二個版本是國內基於ngrok開發的一個改良版,因爲域名在國內,因此解決了訪問慢的問題,可是這個版本如今已經沒法使用微信

第三個版本也是國內開發出的一個版本,能夠自定義主機名,還能夠自定義域名(前提是你有一條域名),很好的解決了原生ngrok的那兩條缺陷.dom

ngrok使用步驟

原生ngrok

1.先說說原生的ngrok,軟件官方下載連接: https://ngrok.com/.下載後解壓,是一個ngrok.exe的文件.
2.進入DOS命令界面(home+R 彈出運行框,輸入cmd回車),進入你解壓的目錄,我解壓在F盤的ngrok文件夾下:cd F:/ngrok 
3.輸入 ngrok http ‘端口號’.這裏要說明兩點,第一:老版的ngrok不須要輸http,可是那種方法已經不能用了,最新的格式跟我這個同樣.第二:端口號要跟tomcat使用的端口號保持一致(這裏以tomcat爲例),好比你tomcat的conf/server.xml文件中用的是80端口,這裏就要寫80端口
4.ok,界面以下圖所示就證實咱們已經映射成功了: 
這裏寫圖片描述工具

是否是很簡單?咱們能夠開啓tomcat服務器,而後登錄到他給咱們的域名上去看看是否能正常訪問到tomcat的首頁 
5.固然,上面也說了,這種方法每次換域名很麻煩,那麼咱們來看看如何獲取一個自定義主機名的固定域名:輸入 ngrok -help,界面以下圖所示: 
這裏寫圖片描述spa

能夠發現最新的命令變成了:ngork http -subdomain=’自定義主機名’ ‘端口號’. 
6.按照老版本的步驟,咱們此時去官網註冊一個帳號,獲取一個access-token,把這個token往命令行裏一輸,就能夠了.可是如今就算拿到了token,再把最新命令輸入,會發現:
這裏寫圖片描述 
他說這功能已經開始收費了,個人帳號是免費帳號,沒法使用這個功能… 
在這裏我就不付費去實現這個功能了,願意付費的同窗能夠去試試這個功能,下面我要介紹的這個版本比原生的要更增強大一些而且目前仍是免費的..net

sunny-ngrok

1.接着來看看國內的這個工具,官網地址:http://ngrok.cc/
2.首先在平臺上註冊一個帳號,平臺登陸地址:http://www.ngrok.cc/login
3.登陸平臺,將系統分配域名(即自定義前綴|主機名)添加好後(我用的是whu-czh),在官網上下載客戶端,解壓(解壓地址F:/sunny_ngrok) 
4.修改解壓後的ngrok.cfg文件:修改文件中的auth_token(這個token在平臺上得到);subdomain:」主機名」(要與平臺上添加的主機名一致);http:端口號(與tomcat的端口號一致),修改後以下圖所示:
這裏寫圖片描述 
其餘的不用去管,保存後在DOS下輸入命令: 
ngrok.exe -config ngrok.cfg start web 
注意:命令中的web跟ngrok.cfg中的通道名稱web保持一致,若文件中你改爲了haha ,那命令中也要輸 haha.

到此本地ip就映射成功了,將本地ip映射到本身購買的域名上的方法會在」微信公衆號開發之URL申請」中講解

5.windows下直接執行Sunny-Ngrok啓動工具.bat文件,輸入從http://www.ngrok.cc/login註冊後得到的隧道ID就能夠用了

相關文章
相關標籤/搜索