【问题标题】:CORS error on HTTP calls in angular-universal (server side)angular-universal(服务器端)中 HTTP 调用的 CORS 错误
【发布时间】:2018-04-26 15:17:08
【问题描述】:

我正在使用 Angular Universal 并向服务器生成 HTTP 请求。我的服务器位于具有 CORS 设置的另一个域 (api.mysite.com) 上。

它在浏览器上完美运行(因为 www.mysite.com 是允许的),但是在服务器端调用完成后我得到一个 CORS 错误,因为 Originhttp://<server ip>:<port>

当我尝试通过 HTTP 拦截器设置源时,我收到错误 Refused to set unsafe header "Origin"...

有人吗?

【问题讨论】:

  • 这是一个后端问题,而不是前端问题。背面是什么语言?请提供代码。
  • 它是在 node.js/express 服务器上运行的 angular-universal
  • 您的意思是您在服务器端渲染期间遇到了 cors 问题吗?不是在浏览器中加载页面后?所以你得到了你在 server 控制台上提到的错误?请提供您收到的错误消息
  • @David 完全正确。当发生 CORS 错误时,我得到了我在 api 服务器上定义的错误

标签: angular cors angular-universal


【解决方案1】:

CORS 通常在服务器端配置,由浏览器在客户端强制执行。

如果我理解正确,您在这里所遇到的并不是典型的 CORS 问题,因为它看起来是您的 api 服务器试图执行 CORS 策略(即拒绝具有错误来源的客户端)。

不允许设置Origin 标头客户端,因为它由浏览器处理。如果任何 js 客户端都可以设置 Origin 标头,CORS 机制将根本没有任何好处。

我想说要么配置您的 api 服务器以允许使用您的自定义机制访问节点 js 服务器,或者不检查 Origin 标头服务器端并让浏览器在客户端执行它,也就是正常方式.

【讨论】:

    猜你喜欢
    • 2017-08-02
    • 2018-04-17
    • 2020-07-19
    • 2021-11-01
    • 2021-06-01
    • 2017-04-27
    • 1970-01-01
    • 2018-03-23
    • 1970-01-01
    相关资源
    最近更新 更多