因为微信授权登录的回调链接是只有线上的本地需要测试就要代理本地IP到线上域名通过微信登陆授权才能测试
比如你想要的域名是xxx.com 但是本地只能ip访问或者localhost,有两种方法可以实现一个就是比较简单修改添加hosts 另一个就是需要借助nginx
首先第一个简单的
1、添加hosts
路径/private/etc/hosts
2、安装charles
之前有篇写过charles的安装# app代理到本地调试-charles
将移动端访问的链接代理到本地
这样微信浏览器访问xxx.com:7070 就被代理到你的本地代码了,本地代码的接口改到线上即可。
需要注意一点的就是分享功能在私信链接里打开是不行的,需要扫码打开相应的链接分享功能才生效。要么就是代理到https也可以
这个方法只能代理http的链接,后面的端口号就是项目的端口号
下面说代理https首先就是安装nginx
1、安装nginx
brew install nginx
报错,先单独安装openss在安装nginx就没问题啦
brew install openssl@1.1
brew install nginx
查看nginx的配置信息,如下命令:
brew info nginx
nginx常用的命令
sudo nginx //启动
sudo nginx -s reload // 重启,一般修改了配置需要重启
sudo nginx -s stop // 快速停止nginx
sudo nginx -s quit // 完整有序的停止nginx/优雅关闭(先服务完已打开的连接)
sudo nginx -t // 判断配置文件是否有问题
停止nginx服务的其他的方法:
查看nginx进程:ps -ef|grep nginx
sudo kill -QUIT //主进程号
sudo kill -TERM //主进程号
2、配置nginx
前往/usr/local/etc/nginx/nginx.conf对文件进行配置,主要就是server的配置
server {
listen 8008; // 监听的端口号随便写
listen 443 ssl; // 开启ssl
server_name xxx.com; // 你想要的域名名称
ssl_certificate /Users/nginx/server.crt; // 证书路径
ssl_certificate_key /Users/nginx/server.key;
location / {
proxy_pass http://localhost:7070/; // 你想代理到的域名,这里我想代理到本地
}
}
再把方法一相关的步骤走一遍
这样就可以在微信浏览器访问xxx.com:8008 实际访问的是http://localhost:7070/