專案的進程中,時常需要和使用單位討論進度或介面,使用截圖的方式溝通稍嫌沒有效率,而且無法讓使用單位體驗操作方式,除了將開發中的網站專案架在測試站台外,可以利用 Ngrok 直接 Demo 本機 localhost 運行的網站。
Ngrok 的核心概念是做為一個轉發伺服器,將外界的請求轉發到你本機指定的 port。
安裝
從官方網站下載符合你環境的壓縮檔,解壓縮後即可使用。
以 Windows 為例,個人為了執行指令方便,會將解壓縮後的執行檔放在一個存放工具的資料夾,例如 D:\Tools\Ngrok
底下,再修改環境變數 Path
,加入該路徑,這樣我就可以在專案資料夾下輕鬆地執行 ngrok
命令。
基本使用
基本使用方式很簡單,在本機執行下列指令:
ngrok http 53885
53885
為你本機要開放的 Port,此時會產生一組隨機的網址,對應到你本機的位置,如下圖的 http://dac311d2.ngrok.io -> localhost:53885
,這時我們就可以將 http://dac311d2.ngrok.io
給使用單位,當使用單位對該網址發出請求時,Ngrok 就會將這些請求轉發到你的電腦,是不是很方便呢。
除了看終端機所呈現的訊息外,ngrok 還提供儀表板來列出當前的連線請求,一目了然。
另外,如果你只想讓該網站給有權限的人看,ngrok 有提供密碼驗證功能,這需要先註冊 ngrok 的會員。
註冊完成後,可以在網站的後台找到你的連線 token,再使用以下指令於設定本機的 ngrok:
ngrok authtoken [YOUR_TOKEN]
設定完成後即可使用 auth 參數,設定帳號密碼:
ngrok http -auth "[YOUR_ACCOUNT]:[YOUR_PASSWORD]" [YOUR_PORT]
如此一來,沒有帳號密碼的人就無法連到該測試網站了。
注意事項
Ngrok 免費方案有些限制:
- HTTP/TCP 通道只能建立隨機的 URL
- 一台電腦只能開啟一個 ngrok
- 每個 ngrok 只能建立 4 個通道
- 每分鐘最多 40 個連線
以 Demo 來說,免費版相當夠用,詳細的限制和價格方案請看這裡。
Ngrok 真是個網站開發者必備的神器呀!
參考資料: