2023-6可用,支付宝异步回调本地测试,配置内网穿透ngrok

在L05 Laravel 教程 - 电商实战 ( Laravel 8.x) 的 7.5. 支付宝服务端回调这一章,需要在虚拟机中测试支付宝异步回调,调用notify接口,由于支付宝不能直接访问到虚拟机的接口,所以需要使用内网穿透。

教程中使用的免费的ngrok做内网穿透,如果按照原先的步骤,会出现这个界面,这是ngrok官方对免费的调用进行了限制,如果你只在本地访问,只要浏览器打开,点一下visit site的按钮就可以了

2023-6可用方案,配置ngrok

由于接口请求是支付宝发起的,我们无法让支付宝添加ngrok-skip-browser-warning请求头,或者加User-Agent,而仅仅为了开发调试也没必要花10美元升级账户权限。

一种办法是咱有公网服务器的,可以自己搭内网穿透的服务,这个网上有很多教程,就不细讲了,我这里说的是没有公网服务器的解决办法,减少学习成本。

经过一番尝试,我找到一个国内免费的内网穿透ngrok.cc

使用教程 www.ngrok.cc/_book/

这个是已经搭好的服务器,并且有免费的可以测试使用,只是会限网速,开发的话足够了。

注册之后需要实名认证2块钱,绑定公众号,然后购买一个免费服务器,最后开通隧道,配置自定义域名(可以买那种几块的便宜域名)

2023-6可用方案,配置ngrok

我起初尝试不用自定义域名,直接用送的这个前置域名,结果打开显示nginx 404 not found,经过各种搜索尝试后还是不行,比如server_name添加一个192.168.132.131:81,我在主机浏览器和虚拟机的浏览器都可以访问到,但是用穿透域名还是404,折腾了比较久,换了个思路,所以我又试了试自定义域名的方式

我到阿里云解析了一个二级域名用于测试,然后到nginx中,把这个二级域名添加进去server_name shop.test ngrok.aoding9.top;

这样再访问ngrok.aoding9.top时,就可以访问到虚拟机,同时nginx也正常了。

接下来又有问题,那就是cdn的图片加载失败,f12一看,是403了,需要给app.blade.php顶部添加<meta name="referrer" content="no-referrer" />,再刷新页面,图片也正常加载了

《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!