为了账号安全,请及时绑定邮箱和手机立即绑定

nginx没办法跨域

nginx没办法跨域

PHP
UYOU 2019-03-07 08:59:19
之前发了一次没人回答,可能是问题描述的不太详细 在nginx服务器配置如下: add_header Access-Control-Allow-Origin $http_origin; add_header Access-Control-Allow-Headers 'Cookie,Set-Cookie,token,x-requested-with,content-type,withcredentials'; add_header 'Access-Control-Allow-Methods' 'GET,POST,OPTIONS,DELETE,PUT'; add_header 'Access-Control-Allow-Credentials' 'true'; ajax 也配置了 withCredentials = true 后端接口验证数据 如果验证失败返回httpCode 为 405如果没有登录或者登录过期返回的httpCode 是 401 但是httpcode 不是200 接口访问就出现了禁止跨域的问题!! 有什么办法解决 服务端返回任意状态码都不会有问题???
查看完整描述

5 回答

?
繁星coding

TA贡献1797条经验 获得超4个赞

ThinkPHP 5应该可以在中间件直接配置,不用去Nginx那么麻烦。

不知道那些点踩的人是什么心态。

https://img1.sycdn.imooc.com//5c8f3a3b0001a1f803910081.jpg

查看完整回答
反对 回复 2019-03-18
?
茅侃侃

TA贡献1842条经验 获得超21个赞

看了你的补充,发现是你服务端没有返回Access-Control-Allow-Origin这个头,nginx很久没配过了,估计是配置有问题,你可以在程序里做这个返回头的实现测试一下。

查看完整回答
反对 回复 2019-03-18
?
肥皂起泡泡

TA贡献1829条经验 获得超6个赞

看看 $http_origin 这个变量的值是什么啊,这个很重要,况且 cors 一般不用在 webserver 里面配,web 框架里面都有中间件之类的来解决的。

查看完整回答
反对 回复 2019-03-18
  • 5 回答
  • 0 关注
  • 422 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信