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

发布于 2022-09-02 23:41:34 字数 307 浏览 15 评论 0

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

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

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

听不够的曲调 2022-09-09 23:41:35

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

执手闯天涯 2022-09-09 23:41:35

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

攒一口袋星星 2022-09-09 23:41:35

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

不…忘初心 2022-09-09 23:41:35
    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楼所述,自己控制就好了

擦肩而过的背影 2022-09-09 23:41:34

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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文