微信开发运营程序员

【SSH 内网穿透 + NGINX 反向代理】搭建微信本地开发环

2017-02-05  本文已影响5221人  haolisand
配图来自知乎[@TOM 朱](https://www.zhihu.com/people/tom-zhu-36)

微信开发由于微信服务器要主动发送消息,所以 Web Server 必须暴露在公网环境中。

本地开发经常在内网,虽然有各种 ngrok 等第三方产品,不过要么付费使用官方服务、要么自己搭建服务麻烦、要么使用通过个人搭建的服务不安全,不如直接使用 ssh 实现内网穿透来得简单。

当然,此方案隐含了一个条件是需要有台公网服务器,这个不管是租用云主机或者申请运营商的固定IP,或者使用动态DNS服务,应该不难做到。

SSH 内网穿透

这个主要通过 ssh 的远端端口转发功能(-R参数)实现。
为了在自动重连时避免每次输入密码,还需要配置 ssh 证书实现免密码登录。
实现方法如上所述比较简单,不过考虑网络不稳定,记载一些配置时要注意的地方。

Server

Client

NGINX 反向代理

这个比较简单,在 Server 侧正常部署 NGINX 站点后,直接将原来站点的配置文件中 location 配置节中指定为 proxy_pass 即可。

location / {
    proxy_pass http://<remote host>:<remote port>;
}

参考

$ sudo netstat -plant  | grep <remote port>
$ curl http://<remote host>:<remote port>
上一篇 下一篇

猜你喜欢

热点阅读