<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!
如果你有更好的办法, 还请不吝赐教:)
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用。你还可以使用@来通知其他用户。