博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
解决阿里云ECS运行前后台分离项目调用QQ互联导致: redirect uri is illegal(100010)问题...
阅读量:7260 次
发布时间:2019-06-29

本文共 3374 字,大约阅读时间需要 11 分钟。

我的项目使用的是前后台分离,前台使用的是VUEJS,所在的域名是www.xfindzp.com,后台接口的域名是api.xfindzp.com,然后我现在开发QQ和微信的第三方登录,配置的回调域是:,然后我把这个地址放到前台www.xfindzp.com里面的登录页面的a标签中,设置href="https://api.xfindzp.com/social-login/qq",但是点击跳转下面的错,经过分析发现跟阿里云服务器/etc/hosts文件和nginx配置api.xfindzp.com域名文件有关,所以记录下解决过程,分享给大家:

clipboard.png

1、修改/etc/hosts文件

192.168.0.81 xfindzp.com api.xfindzp.com47.97.127.145 xfindzp.com api.xfindzp.com127.0.0.1   xfindzp.com api.xfindzp.com localhost localhost.localdomain localhost4 localhost4.localdomain4::1        xfindzp.com api.xfindzp.com localhost localhost.localdomain localhost6 localhost6.localdomain6

2、修改配置域名api.xfindzp.com的nginx配置文件,如下:

server {        listen       80;        server_name  api.xfindzp.com;        location / {                proxy_pass http://api.xfindzp.com:6060; #这里的端口记得改成项目对应的哦                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;                proxy_set_header X-Forwarded-Proto $scheme;                proxy_set_header X-Forwarded-Port $server_port;        }    }   server {        listen       443 ssl;        server_name  api.xfindzp.com;        ssl_certificate      /usr/local/nginx/cert/api.xfindzp/214731881260330.pem;        ssl_certificate_key  /usr/local/nginx/cert/api.xfindzp/214731881260330.key;        location / {                #1、这里的api.xfindzp.com如果写成localhost或者127.0.0.1,那么肯定会报:redirect uri is illegal(100010)                #2、api.xfindzp.com想让它起作用,必须在/etc/hosts文件里面配置好,并重启服务器,否则也不会生效                proxy_pass http://api.xfindzp.com:6060;                 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;                proxy_set_header X-Forwarded-Proto $scheme;                proxy_set_header X-Forwarded-Port $server_port;                proxy_set_header Upgrade $http_upgrade;                proxy_set_header Connection "upgrade";        }    }

3、配置好两个文件,然后重启下服务器ECS就成功了,当重新访问就成功了!

clipboard.png

4、总结:

1)分析问题原因,当报错的时候查看qq返回的url,发现有127地址,所以就查看nginx配置文件,发现确实 是自己设置了127地址,改成api.xfindzp.com之后后台又访问不了,然后又把api.xfindzp.com域名放到/etc/hosts里面,重启才生效
2)网上也有其它相关的解决方法,我这个只针对我的问题。

5、引用:

1)
2)
3)
4)
5)
6)


后续:2018-8-23 21:51

按照上面设置成功是成功,但是后台接口域名api.xfindzp.com每隔多长时间访问就会非常卡处于pending,没办法我又换成localhost或者127或者自己的内网ip了,这样一来QQ互联就还是有问题,然后在网上找到一段代码proxy_set_header Host $host;设置一下居然成功了,如下:

server {        listen       80;        server_name  api.xfindzp.com;        location / {                proxy_pass http://192.168.0.81:6060; #这里的端口记得改成项目对应的哦                # 设置成这个就好了                proxy_set_header Host $host;                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;                proxy_set_header X-Forwarded-Proto $scheme;                proxy_set_header X-Forwarded-Port $server_port;        }    }   server {        listen       443 ssl;        server_name  api.xfindzp.com;        ssl_certificate      /usr/local/nginx/cert/api.xfindzp/214731881260330.pem;        ssl_certificate_key  /usr/local/nginx/cert/api.xfindzp/214731881260330.key;        location / {                proxy_pass http://192.168.0.81:6060;                # 设置成这个就好了                proxy_set_header Host $host;                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;                proxy_set_header X-Forwarded-Proto $scheme;                proxy_set_header X-Forwarded-Port $server_port;                proxy_set_header Upgrade $http_upgrade;                proxy_set_header Connection "upgrade";        }    }

引用:

1)
2)

转载地址:http://xxkdm.baihongyu.com/

你可能感兴趣的文章
阿里云的重大战略调整,“被集成”成核心,发布SaaS加速器助力企业成长
查看>>
C语言基础:时间转换成字符串 strftime的代码
查看>>
IT兄弟连 JavaWeb教程 EL表达式获取对象的属性以及数组的元素
查看>>
在 Linux 系统中安装Load Generator ,并在windows 调用
查看>>
快乐的菜鸟
查看>>
mysql基础知识
查看>>
我的友情链接
查看>>
RedHat6.5 搭建glusterfs全过程
查看>>
3种关闭linux系统端口方法
查看>>
我的友情链接
查看>>
centos nfs端口固定
查看>>
Splunk on CentOS 6/7 相关系统参数调整
查看>>
sql server2005 出现一个或多个参数无效
查看>>
面向对象封装
查看>>
MySQL安装、基本账户安全(5.0以后版本)
查看>>
kubernetes一次生产故障日记
查看>>
zipimport.ZipImportError: can't decompress data; zlib not available
查看>>
Devexpress报表开发(二):创建数据报表
查看>>
我的友情链接
查看>>
DW的代码格式化和净化功能
查看>>