<WOS> <AE> <ML>
+--------------------+ +------------+ +-----------+
| WeChat Open Server | <=====> | Aliyun ECS | <====> | My Laptop |
+--------------------+ +------------+ +-----------+
傳統方式
ML
上開發程式碼,打包部署到 AE
上執行,然後與 WOS
聯調。
問題
-
AE
上開發工具簡陋,除錯效率低; -
ML
通常在內網沒有獨立對外 IP,致使WOS
不能直連。
改進方式
思路是將 AE
作為透傳代理。 實現方式如下:
SSH 遠端轉發
ML> ssh -R `8080:localhost:12306` {AE}
在 ML
上執行上面的命令連線 AE
, 將 AE
上所有 8080
埠的請求轉發到 ML
的 12306
埠上。
這裡會遇到一個坑,
SSH
預設只會轉發所有到127.0.0.1:8080
的資料。顯然這不是我們想要的,然而Aliyun ECS
上即便修改GatewayPorts=yes
也無法實現轉發來自對外 IP 的資料,故此有了下面的辦法。
NC 本地轉發
AE> nc --sh-exec "nc localhost 8080" -l 80 --keep-open
在 AE
上執行上述命令, 實現監聽 80
埠並將所有資料透傳到本地的 8080
埠。
Enjoy!
如果你有更好的辦法, 還請不吝賜教:)