122、商城业务---订单服务---支付宝异步通知内网穿透环境搭建
支付宝支付成功后有一个同步通知和异步通知

在同步通知里面我们进行了支付成功后跳转到订单列表的页面跳转

支付宝还会给我们异步通知,发送消息。但是我们的地址域名是在本机的host文件配置的,只是起到一个模拟作用。如果还用http://order.gulimall.com/alipay/notify,支付宝会请求不到我们的网址或者请求到别人的同域名的网址。因此就需要进行内网穿透,让支付宝可以访问到我们本机请求。
1、首先配置natapp

注意我们的order.gulimall.com已经在host文件中配置了映射,会直接映射到我们的虚拟机。

2、配置支付宝的异步回调地址

3、测试,发现并不能访问成功

原因是内网穿透软件不是浏览器,他给我们的请求没有请求头,即使有请求头也是外网的请求头,因此不能匹配到我们的服务,流程图如下

解决办法:
进行请求的精确匹配,只要是/alipay/notify请求,他就是订单服务的请求
修改我们nginx的配置文件:


当请求为/alipay/notify时,会直接转给Host为order.gulimall.com的网关路径。
我们的网关配置如下

记得重启nginx
记得支付宝的异步通知是post请求,用postman测试
当我们进行测试时,发现还是404

查看nginx的错误日志

通过日志可以看出,它带上了host,不过是外网的host,但是它去html下面找静态文件了。因此我们只需要监听这个外网地址即可。

再次测试就成功过了
 
                    
                     
                    
                 
                    
                
 
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号