前幾天根據趙英傑 "超圖解 Python 程式設計入門" 這本書第十章的介紹, 順利地利用 ngrok 穿透社區網路存取架設於內網的樹莓派本機網站 (即 localhost), 經過幾天的觀察, ngrok 確實都能持續轉發外網的 HTTP/HTTPS 網頁存取, 即使是免費用戶其轉發服務也都很穩定, 參考 :
位於社區網路內或非固定 IP ADSL 網路內的本機網站從 Internet 外網無法存取, 用 ngrok 就可以辦到, 唯一不便之處是每次重新執行 ngrok 後對映至 localhost 的網址都會變. 這就有點麻煩了, 因為遠端使用者不知道網址變了, 會以為網站掛了.
其實趙英傑書中還介紹了另一個穿透內網瀏覽本機網站的方法, 即透過 serveo.net 的轉發服務, 特點是只要下一個指令就可以, 不用下載任何程式, 只要在樹莓派終端機使用下面的指令就會回應一個網址, 可以從外網瀏覽本機網站 :
ssh -R 80:localhost:80 serveo.net
其中 -R 表示遠端 (Remote), 第一個 80 為遠端埠號 (不要改), localhost 代表本機 (也可以用 127.0.0.1 或樹莓派從基地台獲得之 IP, 例如 192.168.43.122), 第二個 80 為本機網站的埠號 (依網站伺服器設定可改). 但我實際測試卻得到 "Connection refused" 的回應 :
pi@raspberrypi:~ $ ssh -R 80:localhost:80 serveo.net
ssh: connect to host serveo.net port 22: Connection refused
直接連線 serveo.net 無回應, 我找到一個可以測試伺服器是否當機的網站 :
輸入 serveo.net 測試伺服器狀況, 結果顯示此網站已掛點 :
沒有留言:
張貼留言