之前玩 LINE Bot 有用 ngrok ,那時就覺得這玩意真是厲害方便,讓開發 web hook 很舒服,
這次接第三方 API,想說ngrok 一陣子沒玩了,就來玩一下
ngrok 安裝下載及文件,可以直接到官網參考
官網下載: https://ngrok.com/download
官網文件: https://ngrok.com/docs
不過安裝的部分我這邊卡了一下,原本想說 windows 安裝直接使用下載的執行檔安裝即可,沒想到
既然裝不起來,後來還是使用了 choco 才裝起來
注意,這邊使用 choco 來安裝是使用 powershell admin ,安裝中間或詢問直接輸入 y 即可
安裝後,可以使用指令 ngrok -v 來查看版本
由於我這邊是使用免費版的,所以一次僅能啟動一個監聽服務,且服務關閉後再次啟動後其對外的網址
會是不同的,若是使用升級版的應該會有固定 domain
再來說說asp.net mvc 專案,首先asp.net mvc 開發時專案會提供http、https 兩個偵錯網址
在專案上按下「F4」,會跳出屬性頁,並且有URL 跟 SSL URL 兩個網址
若按下F5 偵錯,預設會啟動 https 的網址,而http 則需手動輸入
接著來到 ngrok 的設定,針對 http 網址可以如下設定
ngrok http 37563 --host-header="localhost:37563"
輸入後成功後會跑出如下畫面
forwarding 代表是對外的網址,輸入後會看到剛指定的 localhost 畫面
其中 web interface : http://127.0.0.1:4040,可以檢視透過 forwarding 網址進來的 request
而 forwarding 網址是動態的,每次啟動都是一個新的,若要停止服務則需在剛的 cmd 畫面輸入 Ctrl + C
若此時需要對應 iis express 的 https localhost ,可以使用如下指令,比較特別需要使用 rewrite
ngrok http --host-header=rewrite https://localhost:44311
輸入後執行
另外,若執行相關指令出現以下訊息文字,那代表可能已經有正在運作通道,需要先停用
ngrok authentication failed: Your account is limited to 1 simultaneous ngrok agent session.
但發現按下 「Ctrl + C 」後,重新執行指令依然還是有以上錯誤訊息,可以再使用以下指令清除
taskkill /f /im ngrok.exe
【參考】
沒有留言:
張貼留言