奥丁9
奥丁9
后端
数据库
redis
mysql
mongoDB
达梦
php
laravel
laravel-admin
dcat
表单
表格
java
spring
python
go
c
c++
前端
vue
nodejs
sass/less
html/css
前端框架
javascript
微信生态
公众号
小程序
uniapp
typescript
其他
AI
数据结构
安全
linux
seo
git
健身
算法
正则表达式
docker
待分类
后端
/
php
/
laravel
2023-6可用,支付宝异步回调本地测试,配置内网穿透ngrok
1年前
aoding9
91
php
laravel
电商系统
ngrok
支付
在L05 Laravel 教程 - 电商实战 ( Laravel 8.x) 的 7.5. 支付宝服务端回调这一章,需要在虚拟机中测试支付宝异步回调,调用notify接口,由于支付宝不能直接访问到虚拟机的接口,所以需要使用内网穿透。 教程中使用的免费的ngrok做内网穿透,如果按照原先的步骤,会出现这个界面,这是ngrok官方对免费的调用进行了限制,如果你只在本地访问,只要浏览器打开,点一下visit site的按钮就可以了  由于接口请求是支付宝发起的,我们无法让支付宝添加ngrok-skip-browser-warning请求头,或者加User-Agent,而仅仅为了开发调试也没必要花10美元升级账户权限。 一种办法是咱有公网服务器的,可以自己搭内网穿透的服务,这个网上有很多教程,就不细讲了,我这里说的是没有公网服务器的解决办法,减少学习成本。 经过一番尝试,我找到一个国内免费的内网穿透https://ngrok.cc 使用教程 https://www.ngrok.cc/_book/ 这个是已经搭好的服务器,并且有免费的可以测试使用,只是会限网速,开发的话足够了。 注册之后需要实名认证2块钱,绑定公众号,然后购买一个免费服务器,最后开通隧道,配置自定义域名(可以买那种几块的便宜域名)  我起初尝试不用自定义域名,直接用送的这个前置域名,结果打开显示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" />`,再刷新页面,图片也正常加载了
本作品采用
《CC 协议》
,转载必须注明作者和本文链接