如何在本地进行微信公众号授权调试
原因
最近前端同事开发微信公众号,接近后期,当涉及到授权登录,支付等等的时候js就会校验安全域名和ip,那么就意味每次同事做了更改都要把微信公众号打包部署到线上服务器才能调试了,来来去去很郁闷。于是我建议用内网穿透的方式来让他实现本地调试。
怎么做
首选需要一个ngrok或者花生壳,才能够实现内网穿透。把花生壳的内网端口设置成本地调试的端口(注意不能用类似react或者vue的热端口,类似npm start这种,必须要build之后用nginx或者serve的方式来做才行)
- 先申请一个花生壳内网穿透
- 安装serve:npm install serve -g
- 打包前端代码:npm run-script build(如果是react、vue之类的)
- 命令行cd到打包后的文件根目录
- serve -p 80
- 花生壳把内网端口设置成80 ip设置成:127.0.0.1
- 假设花生壳的外网端口是8871,域名是xxx.xxx.cn
- 访问http://xxx.xxx.cn:8871 就可以看到你的网站了
- 记得配置安全域名
还有一些问题
- 安全域名要配置成花生壳绑定的域名,这样子很多检验安全的操作才可以过去
- 如果需要证书之类的就需要本地搭建nginx并放置证书或者通过线上已经放置微信证书的服务器代理了,proxy_pass http://xxx.xxx.cn:8871/;,然后访问线上服务器