前言
最近在调试微信相关的接口,但是由于微信官方出于安全的考虑,对于调用接口的域名有限制。微信授权与微信支付统一下单接口在本地可以通过更改 host 的方式来调试,微信服务器也能跳转回来,但是微信支付异步通知这里;微信官方强制让设置支付授权目录,且是通过 ICP 备案的域名,因此不采取特殊手段,本地是无法接收到微信的异步通知回调请求的,只能部署到线上环境测试。
前置条件
为了解决这个问题,折腾了好几天,才搞出来了,究其根本原因,还是对于 Nginx 不太熟悉。所以在此记录一下。
内网转发
如果想本地进行调试,并且想让微信服务器请求回调回来,则本地必须要有一个外网域名,这里我们是用 Ngrok内网转发 来实现;Ngrok 的配置就是将本地项目的端口映射到分配的外网域名,具体配置参考官网教程文档,此处不再赘述。
我的配置是:
http://vcmq.free.ngrok.cc -> 127.0.0.1:8080
配置测试支付目录
前面提到了,微信支付异步通知会对支付域名目录