首页 > API 服务器能不能支持多个站点的跨域

API 服务器能不能支持多个站点的跨域

假如有 api.example.com 的站点
有俩个项目 a.example.comb.example.com
他们都需要跨域访问 api 服务器

那么都知道
"Access-Control-Allow-Origin", "*" 这样表示全部跨域
"Access-Control-Allow-Origin", "http://a.example.com" 这样表示a站可以访问

那么如何让a和b站都可以跨站


php 全局变量server可以获取当前访问的域名,然后你在设置允许访问的,我就是这么干的


根据请求来返回对应的access-control-allow-origin就好了
请求的应该从referer里拿得到


既然你知道用Access-Control-Allow-Origin来控制,那还有什么问题么?
将a b两个站的server中的api都加上Access-Control-Allow-Origin就好了


在程序最前面获取Origin判断是否在允许的域名 不是就禁止执行后面内容


    Origin := r.Header.Get("Origin")
    if Origin != "" {
        w.Header().Add("Access-Control-Allow-Origin", Origin)
        w.Header().Add("Access-Control-Allow-Methods", "POST,GET,OPTIONS,DELETE")
        w.Header().Add("Access-Control-Allow-Headers", "x-requested-with,content-type")
        w.Header().Add("Access-Control-Allow-Credentials", "true")
    }

根据3楼所述,自己控制就好了

【热门文章】
【热门文章】