396 字
2 分鐘
沒有Public IP也能架站(1) — ngrok
當我們用家裡的網路設備進行開發與架站,才發現沒有Public IP,別人根本連不進來,就算有Public IP還是浮動IP,還需要另外申請固定IP,真的很麻煩,今天來講講當沒有Public IP的時候該如何架站。
ngrok
ngrok是個知名的內網穿透雲端服務,意思是說你的設備不需要Public IP,透過他的Agent建立Tunnel將服務暴露到外網上,可說是非常方便呢。官網的資料也很齊全,可以上去看看。

流程
我們透過以下步驟,將我筆電80 port的服務暴露在網路上。
- 建置服務
- 註冊ngrok
- 安裝ngrok agent
- 執行ngrok agent
1. 建置服務
我在筆電的環境使用NGINX的80 port當作範例,下圖看出我的服務監聽在127.0.0.1:80上。
使用Docker建置NGINX指令:docker run -p 80:80 -d nginx

2. 註冊ngrok
註冊ngrok,登入後到dashboard,會提示你如何註冊服務,先記著這邊的指令。

3. 安裝ngrok agent
從官網可以找到各種OS的安裝方法,Linux、macOS、Windows都支援,就按照官網流程進行安裝。

4. 執行ngrok agent
在command line貼上上面的connect指令,並執行ngrok http 80。

就會跳出一個網址,可以訪問到你的服務。

結語
透過ngrok可以快速簡單地將沒有public IP的服務暴露到外網,如果要使用自己的domain,則需要加入付費方案。下一篇將說明使用Cloudflare Tunnel可以免費達到一樣的效果。