微信開放平臺高效開發調試方法

<WOS>                      <AE>                 <ML>
 +--------------------+         +------------+        +-----------+
 | WeChat Open Server | <=====> | Aliyun ECS | <====> | My Laptop |
 +--------------------+         +------------+        +-----------+

傳統方式

ML上開發代碼,打包部署到 AE 上運行,而後與 WOS 聯調。ssh

問題

  1. AE 上開發工具簡陋,調試效率低;工具

  2. ML 一般在內網沒有獨立對外 IP,導致 WOS 不能直連。開發工具

改進方式

思路是將 AE 做爲透傳代理。 實現方式以下:代理

SSH 遠程轉發

ML> ssh -R '8080:localhost:12306' {AE}

ML 上執行上面的命令鏈接 AE, 將 AE 上全部 8080 端口的請求轉發到 ML12306 端口上。調試

這裏會遇到一個坑,SSH默認只會轉發全部到127.0.0.1:8080的數據。顯然這不是咱們想要的,然而Aliyun ECS上即使修改GatewayPorts=yes也沒法實現轉發來自對外 IP 的數據,故此有了下面的辦法。code

NC 本地轉發

AE> nc --sh-exec "nc localhost 8080" -l 80 --keep-open

AE 上執行上述命令, 實現監聽 80 端口並將全部數據透傳到本地的 8080 端口。開發

Enjoy!部署

若是你有更好的辦法, 還請不吝賜教:)效率

相關文章
相關標籤/搜索