利用 ngrok 代理本地服務到外網,並套用 https
2022, Aug 15
後端工作中常會有需要將本地的測試環境給外部服務存取,而很多第三方服務由於安全性問題大多都只支援 https,這時候就可以透過今天要介紹的工具 ngrok 來達到目的
ngrok
ngrok 是一個第三方服務用來進行本地服務的反代理
簡單說就是用戶端會先訪問到 ngrok 然後再由 ngrok 轉封包到本地
而這個轉導不限於 http protocol 也支援 tcp
安裝
官網下載安裝即可
事前準備
在官網註冊登入後應該會進入到個人的 dashboard
使用前需要拿到個人的 auth token,並且設定 ngrok
ngrok config add-authtoken <your-token>
指令
上面設定好後使用上非常簡單只需要
ngrok http 80
接著會看到精美的執行畫面
ngrok (Ctrl+C to quit)
Hello World! https://ngrok.com/next-generation
Session Status online
Account bingdoal (Plan: Free)
Version 3.0.6
Region Japan (jp)
Latency -
Web Interface http://127.0.0.1:4040
Forwarding https://1bcc-114-34-167-55.jp.ngrok.io -> http://localhost:80
Connections ttl opn rt1 rt5 p50 p90
0 0 0.00 0.00 0.00 0.00
可以看到 ngrok 已經幫我們把本地的 80 port 代理出去了,只要訪問 https://1bcc-114-34-167-55.jp.ngrok.io
就可以連通我們的服務,並且幫我們加上了 https
只不過免費方案只能夠同時代理一個服務,也沒辦法固定 domain 每次重啟都是隨機的,只能用來暫時測試