当前位置:   article > 正文

微信支付本地调试,nginx反向代理,使用本地回调地址notify_url_微信小程序支付回调地址在哪设置

微信小程序支付回调地址在哪设置

golang的gin框架开发微信小程序后端,使用到微信支付功能。微信支付的回调调试一般都在服务器进行,但是折腾了一下,于是就有了以下记录。

具备的条件:

1.有一个all in one小主机,上面安装了pve虚拟机,虚拟机里安装了openwrt(路由器),ubuntu用来安装数据库、redis、nginx(用来部署ssl证书,反向代理到开发机的小程序后端)

2.路由器拨号能获取ipv4或ipv6公网ip

3.有一个域名,能申请ssl证书

4.路由器可以设置端口转发

记录开始:

1.设置域名解析

网上查找教程《保姆教程 OpenWrt 配置 Cloudflare DDNS

a.openwrt 中的ddns要有Cloudflare.com-v4,没有的话请参照教程,或自己编译固件

b.去cf申请API key ,参照上面的教程

c.openwrt路由中的DDNS配置,也可配置ipv6的。

重点:如果使用的是api token,注意:用户名必须是:Bearer

2.申请ssl证书,并将域名解析配置到cf

去域名的控制台申请ssl免费证书,一般为一年有效期.我的域名是在阿里买的,dns解析配置到了cf,参考cloudflare解析域名+CDN(以阿里云为例)+宝塔 - CodeAntenna

3.nginx反向代理

all in one小主机内的ubuntu安装nginx,反向代理到开发机的8010端口

安装nginx

  1. sudo apt update
  2. sudo apt install nginx

新建站点配置文件

nano /etc/nginx/conf.d/pc.conf

文件内容

  1. #设定实际的服务器列表
  2. upstream pc_server{
  3. server 192.168.2.212:8010; #开发机地:端口
  4. }
  5. server {
  6. listen 443 ssl;
  7. server_name 123456.123456.xyz; #你能配置解析的域名
  8. # ssl证书配置
  9. ssl_certificate /etc/nginx/cert/123456.123456.xyz.pem;
  10. ssl_certificate_key /etc/nginx/cert/123456.123456.xyz.key;
  11. gzip off;
  12. # ssl验证相关配置
  13. ssl_session_timeout 5m; #缓存有效期
  14. ssl_session_cache shared:SSL:10m; #置存储session参数的缓存的类型和大小
  15. ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; #加密算法
  16. ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #安全链接可选的加密协议
  17. ssl_prefer_server_ciphers on; #使用服务器端的首选算法
  18. #编码格式
  19. charset utf-8;
  20. #代理配置
  21. location / {
  22. proxy_redirect off;
  23. proxy_set_header Host $host;
  24. proxy_set_header X-Real-IP $remote_addr;
  25. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  26. #对应最上边的pc_server
  27. proxy_pass http://pc_server;
  28. }
  29. }

配置文件中123456.123456.xyz.pem和123456.123456.xyz.key是我在阿里申请的ssl证书

                   192.168.2.212:8010是我的开发机地址和小程序后端端口

测试配置

nginx -t

重载配置

nginx -s reload

这样配置就用ubuntu的443端口反向代理了192.168.2.212开发机的8010端口

4.openwrt路由器端口转发:网络->防火墙->端口转发

内部ip是ubuntu的ip地址,如果外部端口443被运营商封了,可以设置其他端口,但是远程访问时就需带端口访问

如,设置为8010,则微信支付回调地址为 https://123456.123456.xyz:8010/回调路径

浏览器外网访问效果:

 

goland控制台

整个流程:

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/132247
推荐阅读
相关标签
  

闽ICP备14008679号