在家(使用NAT网)开发项目时,难免会涉及到第三方外部接口回调(如:支付回调、微信小程序登录),需要固定IP或域名解析,内网穿透是个不错的选择。常见的内网穿透工具有 向日葵、natapp、网云穿 等。个人都有安装试用,相比较 natapp 体积小、配置简单、运行内存占用少。
目录
环境配置
选择 操作系统 对应的版本并下载
NATAPP-内网穿透 基于ngrok的国内高速内网映射工具
https://natapp.cn/


使用注册的手机号登录,并根据需要修改关键信息,如:昵称、Emall地址、(登录)密码 等。

注意:无论是免费还是付费通道,都需要 进行实名认证。
根据 项目情况 以及个人预算,购买适合的产品。

个人推荐套餐:

以 免费隧道 举例,填写3个关键项

注意:免费隧道的域名 会不定期 强制随机切换,不适合 长时间使用。
VIP 优/惠/码:24185908
复制 authtoken

在natapp安装目录下,创建《config.ini》文件,添加如下配置:
- # ######################### 方式1:命令行方式启动带参数 #########################
- # 配置文件名格式 建议:config-IP地址-端口号.ini 或 config-二级域名-端口号.ini
- # natapp.exe -authtoken=通道TOKEN -config=配置文件名
- #
- # ######################### 方式2:命令行方式启动无参数 #########################
- # 在natapp安装目录下,新建配置文件《config.ini》
- # 如即有配置文件,又在启动时指定参数,则启动参数将覆盖配置文件中的同名参数值
- #
- [default]
- # 通道TOKEN
- authtoken=请将此处替换为第5步的authtoken
- # 对应客户端的clienttoken(如果配置,将会忽略authtoken,若无请留空)
- clienttoken=
- # log日志文件(可指定本地文件,none:不做记录、stdout:直接屏幕输出、默认:none)
- log=./natapp-log.txt
- # 日志等级(DEBUG>>INFO>>WARNING>>ERROR,默认:DEBUG)
- loglevel=INFO
- # 代理设置(如 http://10.123.10.10:3128,非代理上网用户请务必留空)
- http_proxy=
Windows 7运行效果

注意:
- 检查 运行natapp的 Web服务主机 和 Nginx代理 的主机,是否已开启防火墙?如果已开启,需开通授权 临时域名 的主机IP 和 端口;使用ping命令域名对应的IP,如 ping blog.csdn.net
- 临时测试及非重要信息,可以不用配置SSL/TLS加密证书。否则,请购买 付费通道,以保护数据安全。
修改支付宝开放平台的 应用网关地址、授权回调地址 的域名(取 第7步 截图中 Forwarding 公网域名)。

支付宝支付 - 应用网关和授权回调地址怎么配置蚂蚁技术支持中心
https://opensupport.alipay.com/support/helpcenter/271/201602479063
同步修改(自己程序的支付宝/微信)支付通道的 应用网关地址、授权回调地址 的域名(取 第6步 的Forwarding公网域名):
在 APP端发起支付 或 Postman 调用支付网关接口,如果调用成功,可看到相关接口的请求日志。

参考:
开发工具包(SDK)下载 | 支付宝网页&移动应用支付宝文档中心https://opendocs.alipay.com/open/009ys9
以上实践总结,演示在 无固定IP环境下,调用第三方平台接口接收回调的解决方案之一。
欢迎留言、讨论……