mac m1 pro 解决微信公众号本地调试问题

dandan3年前程序开发3868

1、 先通过brew安装nginx

brew install nginx
#如果报错:==> Pouring ca-certificates-2022-10-11.all.bottle.tar.gz
# Error: No such file or directory @ rb_sysopen - /Users/yelin/Library/Caches/Homebrew/downloads/4f73a69fb5caa49a7bd732c718dfaba61866e47ec16da4468e657a57453ce33d--ca-certificates-2022-10-11.all.bottle.tar.gz,可以试试 
#清除缓存 更新后再装
brew clean
brew update


2、配置nginx转发80端口,把路径/wxpub转发到本地uniapp的路径(网站目录/wxpub),将/wechat/pub的转发到go的后端8085接口地址上

vim /opt/homebrew/etc/nginx/nginx.conf
#添加域名转发
server_name localhost wxpub.mzwjc.com;
 # 1. 微信公众号消息/事件推送回调
    location ^~ /wechat/pub/ {
        proxy_pass http://127.0.0.1:8085/wechat/pub/;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
        # 微信公众号网页开发
        location ^~ /wxpub {
            proxy_pass http://localhost:8080/wxpub;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

        }
# 重载
nginx -s reload
# 重启(应该重载就行了)
brew services reload nginx
#如果有报错,创建目录和编辑配置重试:
pid  /opt/homebrew/var/run/nginx.pid;

3、修改hosts(公众号网页回调跳转)

sudo vim /etc/hosts
#添加代理内容
127.0.0.1 wxpub.mzwjc.com


4、微信公众号后台,公众号设置,功能设置,网页授权域名,添加好该域名。(需要上传文件到根目录)

5、将frps放到linux服务器,比如opt下,chmod +x 给frps和sh都增加执行权限,然后启sh


6、uniapp,需要在manifest.json的h5配置的devServer下,增加一个"disableHostCheck" : true (vue可能都要),并且运行端口要和绑定的端口一致

"devServer" : {
    "disableHostCheck" : true,
    "port" : 8080
}

7、本期要启动frpc,配置参考其他帖子,能启动成功,域名解析里,解析道机子上,然后防火墙放行

[common]
# 连接服务端的地址
server_addr = 服务器真实ip
# 连接服务端的端口
server_port = 7000

# 鉴权方式:token, oidc,需要和服务端一致
authentication_method = token
# 鉴权使用的 token 值,需要和服务端一致
token = 服务器约定的密码

[wxpub]
type = http
local_ip = 127.0.0.1
local_port = 80
# remote_port = 6000
# 域名
custom_domains = wxpub.mzwjc.com

服务器上宝塔nginx,要把wechat开头的转到frp上的180端口上

 # 转发公众号推送到frp给本地
    location /wechat/ {
        proxy_pass http://127.0.0.1:180;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }

如果推送域名要走https,针对公众号事件推送:

# 找到包含 listen 443 ssl; 的 server 块
server
{
    listen 443 ssl;
    server_name wxpub.mzwjc.com;

    # 确保在 443 这个 server 块里面,也加了这一段:
    location /wechat/ {
        proxy_pass http://127.0.0.1:180;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}




相关文章

mac m1使用docker mysql踩坑

1、etcd版本用3.4.242、mysql镜像要用:mysql/mysql-server:8.0.323、mysql因为是8的版本,启动后本地没权限连接,需要进容器创建用户和添加权限:# ...

win11 RTX4070Ti 部署langchain-chatchat

1、下载py的环境管理工具:Anaconda (等同于node环境的nvm工具)2、创建一个专属环境conda create -n langchain pyth...

go Imagick图片处理

使用前先需要安装ImageMagicMac环境brew install imagemagick #安装依赖(不确定装完上面会不会自动装) #尝试的时候发现依赖都装不上,把提示的...

rem解决笔记本访问网站内容被放大的问题

一般win系统的笔记本,出厂默认就是系统缩放150%,导致虽然分辨率是1920*1080,可浏览器的视口宽度却只有1200多,整个页面内容也被放大了,导致页面混乱。mac m1笔记本也同样,分辨率不同...

go-zero学习

goland创建新项目,需要在设置->go->go模块里启用go模块集成,不然下载的包无法正常引入根据api文件内容生成文件 goctl api go&nbs...

通过frp进行内网穿透

因为ngrok会定义刷新域名,有点限制,如果没有服务器域名,用他合适,如果有自己的服务器、域名,则用frp:按照https://blog.csdn.net/mirage003/article/deta...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。