首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >节点-快递-CORS发行

节点-快递-CORS发行
EN

Stack Overflow用户
提问于 2016-12-04 12:58:45
回答 2查看 659关注 0票数 0

离子2

我使用的是登录提供程序,但是当我将访问控制设置为

res.header('Access-Control-Allow-Origin', '*');

不工作

但是当我用

res.header('Access-Control-Allow-Origin', 'http://localhost:8100');

这是working

但是现在我想把我的应用程序部署到手机设备上,我需要将它设置为res.header('Access-Control-Allow-Origin', '*');。因为我手机上的应用程序不再在http://localhost:8100上工作了

任何人都能帮我解决这个问题吗?

EN

回答 2

Stack Overflow用户

发布于 2016-12-04 13:03:29

如果您正在制作预先准备的请求,则在Access-Control-Allow-Origin头中禁止使用通配符。

您可以读取Origin请求头,以找出来源。然后,您可以根据允许的来源列表对其进行测试(您还可以假设任何来源都是安全的,但是对于预先准备的请求,完全的公共访问很有可能会带来安全风险)。最后,您可以将其复制到Access-Control-Allow-Origin响应头中。

票数 2
EN

Stack Overflow用户

发布于 2016-12-04 13:46:04

您从应用程序发出的HTTP请求看起来如何?

在这个文章中查找“CORS请求的类型”。

如果您的HTTP请求是简单的,即

  • 方法是HEADGETPOST
  • 只有这些头
    • Accept
    • Accept-Language
    • Content-Language
    • Last-Event-ID
    • Content-Type of application/x-www-url-encodedmultipart/form-datatext/plain

如果您的HTTP请求很简单,则不需要预运行。而Access-Control-Allow-Origin*被移动应用程序所接受。

否则,将发出飞行前请求(即OPTION请求),忽略Access-Control-Allow-Origin of *。它必须像http://localhost:8100一样完全指定。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40963576

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文