快速讓外網連接本機的利器 - ngrok
又是一篇久違的文章,最近真是太忙了,又要上班又要忙私底下的專案,回到家都累死了。而且最近也在忙組電腦的事情,也沒確定好,之後等電腦組好送來,再來發一篇心得及開箱文!
今天要介紹一款我開發 web 後端上常用的工具,那就是ngrok
,這款工具就跟標題一樣的功能,快速讓外網連接本機的利器!外網的意思就是我們會擁有一個公開的網址,可以讓其他人直接連上該網址上的內容,也就是說,當我們在開發專案的時候,常常都是在Local
端進行開發。尤其當我們這個專案又是屬於前後端各自分工的性質的話,如果後端開發好Api
,想要給前端接Api
的話,怎麼辦呢?難道要將我們的 Api 架在一台主機上,在開 port 出去,讓外網可以連接進來?手續太麻煩了,對於新手而言還不知道該怎麼下手呢。當然現在也有所謂架設雲端伺服器的方式,來放置我們的Api
,理論上是比自己架在主機上更加地容易,在這邊我推薦快速架設的雲端平台 —Heroku
,之後會發一篇教學文章來教如何將自己的Api
架在上面。
但不管怎麼說,如果當下要快速測試,使用ngrok
是最快的!
介紹 ngrok
ngrok
的原理就是可以把外界的請求轉發到你本機指定的 Port
,也就是由 ngrok 產生一串公開的網址來讓外網存取你本機上的Port
。它的優點是快速而且還提供了https
的服務讓你使用上更安全,甚至還可以設置密碼保護。
下載 ngrok
官方下載網址:https://ngrok.com/download
進去官方下載網址,選擇符合電腦的OS
進行下載即可。在這邊用Windows
來做示範。
基本上點選 windows 下載後,會是一個壓縮檔:
裡面就只有一個 exe 檔案而已,並沒有其他雜七雜八的,非常簡潔。
接著將ngrok.exe
放置在你想要放置的硬碟位置即可~
執行 ngrok
可以直接點擊ngrok.exe
,它會出現一個 terminal 的畫面,並且上面會有工具的介紹,例如要怎麼使用該工具,有哪些terminal
指令你可以怎麼下。
基本上只要將terminal
路徑移到ngrok.exe
下,或者你嫌麻煩的話,可以該路徑設為環境變數就可。
輸入以下指令即可啟動ngrok
:
1 | ngrok http <port> |
其中只有Port
是你需要更改的,也就是說比如我的 web 專案啟動之後是在Local
端是吃8080 Port
的,就把以上指令的Port
改成8080
即可。
啟動之後,畫面呈現如下:
主要要注意的就是Forwarding
,我們可以看到分別有http、https
以及各自對應的Local
端的網址。可以清楚的知道當外部使用者使用ngrok
自動產生的公開網址,就能自動轉發到我們本地端的網址。
這樣就完成了!當我們要測試 api,首先啟動我們本地端的 web 專案,再來開啟 ngrok,將 ngrok 產生的網址給前端使用就可以了。
例如:
local 端 api 網址:http://localhost:8080/v1/api
ngrok 產生的網址:https://f7b332ff.ngrok.io
前端如何接我們的 api 呢?只需在串接成:https://f7b332ff.ngrok.io/v1/api。前端就能正確跟後端串接在一起了。
ngrok 缺點
當然嘛,ngrok 有提供免費版跟商業版,像我們這樣簡單使用是免費版的,會有一定的流量限制,像是一分鐘內只能連接 60 次的樣子。但對於快速測試已經很夠用了。有時候只是要測試前端給的參數有沒有符合後端所要的,當下要快速測試,就很方便。
總結
以上就是ngrok
的簡單教學,簡單來說,是我開發後端不可或缺的工具。但ngrok
其實還有其他較進階的功能,如果之後有空在發文章說明囉~
最後最後!請聽我一言!
如果你還沒有註冊 Like Coin,你可以在文章最下方看到 Like 的按鈕,點下去後即可申請帳號,透過申請帳號後可以幫我的文章按下 Like,而 Like 最多可以點五次,而你不用付出任何一塊錢,就能給我寫這篇文章的最大的回饋!