Senparc.Weixin+nginx配置之坑 ‘10003 redirect_uri域名与后台不一致’
微信公众号扫一扫功能提示:10003 redirect_uri域名与后台不一致
Senparc.Weixin组件很好用,但一个坑,不知道这和个是否有关。。
先说明下环境,centos+.net core 2.2
.netcore 直接dotnet run ,用nohup运行起来,配置端口为80,UseUrls("http://*:80")。 运行命令是: nohup dotnet run &
没有配置nginx前,一切正常!!!!
配置端口号为8081后(UseUrls("http://*:8081")),再配置上nginx转发后,偶发性的出现:“10003 redirect_uri域名与后台不一致”
配置代码如下:
upstream changdao { server 127.0.0.1:8081; } server { listen 80; server_name changdao.xxxxx.org; location /{ proxy_pass http://changdao; } }
经过调试,发现最近最终回调变成了
https://open.weixin.qq.com/connect/oauth2/authorize?appid=wxbb437396db00ae95&redirect_uri=http%3A%2F%2Fchangdao%2FPortalWeb
redirect_uri这个值变了,,变成如下。
http://changdao/PortalWeb
这是什么鬼???
看的有点眼熟啊,,原来是nginx配置中的那个鬼。
upstream changdao
思路有了改了下“upstream”的名字,改成了 :changdao.xxxxx.org ,配置代表如下:
upstream changdao.xxxxx.org { server 127.0.0.1:8081; } server { listen 80; server_name changdao.xxxxx.org; location /{ proxy_pass http://changdao.xxxxx.org; }
改完nginx配置后,用下面命令检查下是配置否正常
/usr/local/nginx/sbin/nginx -t
重启nginx:
cd /usr/local/nginx/sbin/nginx
./nginx -s reload
再次测试,问题解决