來自 http://www.cnblogs.com/Leo_wl/p/5679668.html
Ngrok 是一個反向代理,通過在公共的端點和本地運作的 Web 伺服器之間建立一個安全的通道。Ngrok 可捕獲和分析所有通道上的流量,便于後期分析和重放。簡單來說,利用 Ngrok 可以通過外網來通路部署在本地伺服器的網站,它還提供一個 Web 管理頁來監控 HTTP 通信封包,友善程式員發現問題、開發調試。另外 Ngrok 還支援 TCP 層端口映射,不局限于某一特定的服務。支援 Mac OS X,Linux,Windows 平台。
Ngrok 官方網站:點選這裡
Ngrok 開源位址:點選這裡
2. 應用場景
2.1 WEB開發
作為一個 Web 開發者,有時候會需要臨時地将一個本地的 Web 網站部署到外網,供他人體驗評價或協助調試。傳統的做法是利用花生殼等動态域名或自行搭建 VPN 做端口映射,而利用 Ngrok 幾條指令就搞定。
2.2 微信開發
在做微信開發的時候,需要經常用微信用戶端調試系統服務功能,但是在開發階段服務端程式一般是運作在本地伺服器上。這樣,微信在公網上在是沒有辦法通路到本地伺服器資源的。解決微信本地開發的關鍵就是能夠将本地服務IP映射到公網上,是以 Ngrok 對于在本地進行微信開發很有作用。
2.3 TCP端口轉發
TCP 端口轉發,這意味着可以在外網 SSH 到本機了,當然外網端口是随機配置設定的。
3. 簡單使用
實驗環境:Windows7、Ngrok 2.1.3
Step1:首先去 Ngrok 官網去下載下傳最新版本用戶端。Windows版本下載下傳解壓後隻有ngrok.exe一個檔案,暫将其放置在D盤根目錄下。
Step2:首次使用 Ngrok 服務需要先為本機安裝authtoken。在 Ngrok 官網注冊一個賬号,在 Auth 菜單下擷取官方配置設定的authtoken。(該步可省略,但是未注冊使用者不具備自定義域名等進階功能)
Step3:安裝authtoken,按下Win+R鍵-->運作-->執行cmd.exe。進入到ngrok.exe的根目錄下,輸入如下指令:
ngrok authtoken <YOUR_AUTHTOKEN>
Step4:通過上述幾步,現在就可以建立一個安全隧道,将本地服務IP映射到公網上。執行下面指令就可以為本機`localhost:8080`位址配置設定一個Ngrok官網下随機二級域名。
ngrok http 8080
Step5:從上圖 Ngrok 服務開啟後的狀态可以看出` http://7a65105c.ngrok.io`就是生成的公網域名。但有個問題,它是随機生成的,每次啟動 Ngrok 服務都會重新生成,在微信開發的時候很不友善。Ngrok 提供了解決方案,允許綁定自定義二級域名和頂級域名(收費功能),隻要在ngrok.exe的根目錄下執行如下指令:
ngrok http -subdomain=[二級域名] [端口] //綁定Ngrok二級域名
ngrok http -hostname=[頂級域名] [端口] //綁定自定義頂級域名
Step6:打開web界面在`http://localhost:4040`檢查和重複請求,監控HTTP通信封包。
關于 Ngrok 就講到這了,本人也是初次使用,很多進階功能未涉及。如果各位看官有需要請移步官方文檔。
4. 國内Ngrok服務
Ngrok 是非常好的工具,但是它的伺服器在國外,國記憶體在通路穩定性差、速度慢等問題。這個給國内的程式員帶了很多不便。好在 Ngrok 是個開源項目,有些前輩或公司在 Ngrok 項目基礎之上做了改進,提供了功能相似的國内 Ngrok 服務。
- 相關推薦
- Sunny-Ngrok内網轉發
- Ngrok國内免費伺服器——糖果科技
- NATAPP 基于ngrok高速内網穿透服務
- pc5s - 網際網路到個人電腦的反向代理
其具體使用規則很簡單,并且都有詳細的文檔或視訊說明。
5. 參考與擴充
[1] l631068264,Windows 下 配置 ngrok ngrok使用教程
[2] 林泳壇,關于Ngrok的一些思考
[3] 攀哥, 自建Ngrok服務與使用方法
分類: [39]Open Source 好文要頂 關注我 收藏該文
HackerVirus
關注 - 247
粉絲 - 1797 +加關注 0 0 «上一篇: 棧和隊列
»下一篇: Spring-AOP實踐
posted on 2016-07-17 22:58 HackerVirus 閱讀( 100) 評論( 0) 編輯 收藏 重新整理評論 重新整理頁面 傳回頂部 注冊使用者登入後才能發表評論,請 登入 或 注冊, 通路網站首頁。
最新IT新聞:
· .NET開源兩年之後
· 微軟開始出貨Surface Studio一體機 并建立客戶咨詢專線
· 新款iPhone或将配備3D攝像頭 蘋果與LG合作研發
· 樂視也推出了無人機,售價3499元,或為深圳AEE代工
· 諾基亞要想在手機行業再稱王,這5點必須做到
» 更多新聞... 最新知識庫文章:
· 循序漸進地代碼重構
· 技術的正宗與野路子
· 陳皓:什麼是工程師文化?
· 沒那麼難,談CSS的設計模式
· 程式猿媳婦兒注意事項
» 更多知識庫文章... 最新IT新聞:
· 阿裡感恩節辦校友大會 馬雲稱衡量公司好壞要看“畢業生”
· 格力電器确認全員加薪 每人1000
· 為什麼現在的人工智能助理都像人工智障?
· NASA氣候研究或因缺少資金而消失 曾享譽世界
· 舊版優步中國司機端APP三天後下線 司機與滴滴端打通
» 更多新聞... 最新知識庫文章:
· 循序漸進地代碼重構
· 技術的正宗與野路子
· 陳皓:什麼是工程師文化?
· 沒那麼難,談CSS的設計模式
· 程式猿媳婦兒注意事項
» 更多知識庫文章... 曆史上的今天:
2014-07-17 C# 中幾個小“陷阱”
2014-07-17 AngularJS的依賴注入方式
2014-07-17 實時預覽的線上 Markdown 編輯器 - Markdoc
2014-07-17 LigerUI一個前台架構增、删、改asp.net代碼
2014-07-17 .NET MVC通過反射擷取資料修
2014-07-17 ASP.NET MVC IOC之Unity攻略
2014-07-17 大表單驗證
2013-07-17 簡單好用的Adapter---ArrayAdapter
2013-07-17 事務的考慮
2013-07-17 ASP.NET4.5Web API及非同步程式開發系列
2013-07-17 C# ToString常用技巧總結
2013-07-17 代碼托管-從基本設定開始
2013-07-17 Xcode4.6 自制iOS可用的 Framework
2013-07-17 建立簡單的響應式HTML5模版
2013-07-17 UIView使用者事件響應
2013-07-17 IOS 本地通知 UILocalNotification
2013-07-17 登入子產品之靜态登入
2013-07-17 對C# 中Readonly的再認識
2013-07-17 C/C++中動态連結庫的建立和調用
2013-07-17 C# 編寫簡易 ASP.NET Web 伺服器
2013-07-17 開放代碼
2013-07-17 C# 操作 Excel 常見問題收集和整理
2013-07-17 線程簡單基本操作
2013-07-17 Linux吃掉我的記憶體
2013-07-17 CSS 實作的各種球體效果
2012-07-17 tornado是由Facebook開源的一個伺服器“套裝"
2012-07-17 基于Visual Studio的軟體生命周期管理和持續傳遞
2012-07-17 程序管道通信實驗
2012-07-17 小泥鳅部落格(Loachs)1.3開源釋出
2012-07-17 公司項目使用的架構分析
2012-07-17 深入解析Web伺服器和ASP.NET應用程式生命周期(翻譯)
2012-07-17 基于Attribute的Web API路由設定
2012-07-17 MVC3快速搭建Web應用執行個體篇
2012-07-17 Chrome V8引擎的一點認識
2012-07-17 微軟網站提供的8本英文原版書電子版
2012-07-17 HTMLParser1.6 源代碼閱讀
2012-07-17 SharePoint 大局觀——從開發人員角度
2012-07-17 搭建Hadoop2.0自帶執行個體運作
2012-07-17 利用TCP和UDP協定,實作基于Socket的小聊天程式
2012-07-17 異步伺服器架構設計
2012-07-17 Performance study in Microsoft.ApplicationDataBlock.SqlHelper
2012-07-17 搭建Hadoop2.0
2012-07-17 Spring Web MVC是什麼
2012-07-17 工欲善其事,必先利其器——學會不将就,讓自己事半功倍!
2012-07-17 比手寫代碼還快的通用資料通路層
2011-07-17 各大主流.Net的IOC架構性能測試比較
2011-07-17 新浪微薄的挂件
2011-07-17 淺談委托、委托與事件、委托進化成lambda表達式和Linq
2011-07-17 VS 插件 All-In-One Code Framework Sample Browser
2010-07-17 表單送出中Get和Post方式的差別