首页 新闻 会员 周边 捐助

tp5.1.前后端分离.cros跨域问题.在线上找了各种方法.没辙了

0
悬赏园豆:10 [已解决问题] 解决于 2021-01-06 15:54

我在本地上可以执行.然后在腾讯云centos7就不可以了.无语.本地在服务器配置是这样的.

然后就在网上找了各种方法.还是解决不了.怕了怕了.

拖延症重患者的主页 拖延症重患者 | 初学一级 | 园豆:185
提问于:2021-01-05 15:30
< >
分享
最佳答案
0

Access-Control-Allow-Origin 是設定對請求端放行
看你的圖設定的好像是接收端的domain

收获园豆:4
RosonJ | 老鸟四级 |园豆:4910 | 2021-01-05 17:44

这段代码我是写在api的配置中,我用的阿帕奇

拖延症重患者 | 园豆:185 (初学一级) | 2021-01-05 17:47

@拖延症重患者:
A Domain(頁面) 呼叫B Domain API
B Domain API 在回應時要加上Header Access-Control-Allow-Origin: A Domain
你是這樣設定的嗎

RosonJ | 园豆:4910 (老鸟四级) | 2021-01-05 17:50

另外,設定Access-Control-Allow-Origin 的時候只需要設定Domain
不需要http/https,也不需要port

RosonJ | 园豆:4910 (老鸟四级) | 2021-01-05 17:54

我在本地试了一下,用本地ip:端口也不行.请求头也没加上去.然后在本地使用域名就正常获取到接口信息了

拖延症重患者 | 园豆:185 (初学一级) | 2021-01-05 21:32

@拖延症重患者:
先想辦法把header加上
不然沒法測

RosonJ | 园豆:4910 (老鸟四级) | 2021-01-06 09:19
其他回答(4)
0

看看你服务器上的8081端口是不是通的

收获园豆:3
风行天下12 | 园豆:3867 (老鸟四级) | 2021-01-05 16:16

可以的.我前端用的是8081,然后api用的是8082.用8081进入到正常的登录界面.然后调用接口就是报跨域错误了.我在本地是没问题的.然后用官方的路由配置和在网上查了好多方法都不行.就很莫名其妙.
请求头硬是没加上去

支持(0) 反对(0) 拖延症重患者 | 园豆:185 (初学一级) | 2021-01-05 17:01

@拖延症重患者: 设置header你在代码里哪个文件里设置的,放在入口文件试试

支持(0) 反对(0) 风行天下12 | 园豆:3867 (老鸟四级) | 2021-01-05 17:29

直接放在public/index.php入口处试试
header("Access-Control-Allow-Origin:*");
header("Access-Control-Allow-Methods:GET, POST, OPTIONS, DELETE");
header("Access-Control-Allow-Headers:DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type, Accept-Language, Origin, Accept-Encoding");

支持(0) 反对(0) 风行天下12 | 园豆:3867 (老鸟四级) | 2021-01-05 17:34
0

你去把服务器里面规则改一下,把8081口子对外开放就可以了,不是改代码,改腾讯云服务器的控制台

收获园豆:3
小小咸鱼YwY | 园豆:3312 (老鸟四级) | 2021-01-05 17:06

同样还是不行.

支持(0) 反对(0) 拖延症重患者 | 园豆:185 (初学一级) | 2021-01-05 17:22

@拖延症重患者: 你再看看你前端和后端的代码里面的跨域有没有问题,而且你要对外开发而不是对内,后端很简单,本地postman调用接口,看看后端是不是存在跨域,,你前面页面部署服务器上了本地访问相当于你用本地的ip访问腾讯服务器ip,如果可以通排除后端跨域问题,后面就是前端的跨域问题,前端白名单配置上腾讯云服务器ip即可

支持(0) 反对(0) 小小咸鱼YwY | 园豆:3312 (老鸟四级) | 2021-01-05 18:08

@小小咸鱼YwY: 我在本地用ip:端口也不行.用域名就可以.

用了各种方法硬是没把请求头放上去.....在本地使用域名就可以.

支持(0) 反对(0) 拖延症重患者 | 园豆:185 (初学一级) | 2021-01-05 21:30

@拖延症重患者: 那是后端白名单的问题,,域名和ip在后端白名单是2个不同的ip

支持(0) 反对(0) 小小咸鱼YwY | 园豆:3312 (老鸟四级) | 2021-01-06 11:57
0

用nginx试一下?

人间春风意 | 园豆:2780 (老鸟四级) | 2021-01-06 11:56
0

我直接改代码用方法把表头给写进去了.配置完全没用.也不知道哪里的问题了.

拖延症重患者 | 园豆:185 (初学一级) | 2021-01-06 15:53
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册