【问题标题】:CORS with backend & Angular2 frontend带有后端和 Angular2 前端的 CORS
【发布时间】:2016-12-28 16:38:08
【问题描述】:

我有以下架构:

  1. 通过 REST api 提供服务的后端。此后端使用在 http://localhost:8080 上启动的嵌入式 Tomcat 服务器。
  2. Angular 2 中的前端,在http://localhost:8000 上有一个静态 HTTP 服务器 (lite-server)。前端通过“@angular/http”向后端发送请求。

前端发布在互联网上,供所有人访问。 我想保护后端免受 CORS 的影响(只有我的前端可以在后端进行请求)。

后端为 HTTP 标头中的“Access-Control-Allow-Origin”发送的值应该是多少? 我猜前端发送的请求的来源等于最终用户的IP地址?那么,我应该将通配符“*”作为“Access-Control-Allow-Origin”吗? => 没有 CORS 安全性

我的理解正确吗? 我的架构很糟糕吗? 这个问题的解决方法是什么?

【问题讨论】:

    标签: angularjs http-headers


    【解决方案1】:

    我觉得应该是这样的:

    Access-Control-Allow-Origin: http://127.0.0.1:8000
    

    使用通配符 (*) 是个坏主意。 (并且它需要设置一个错误的 Access-Control-Allow-Credentials 标头。)所以你是对的。

    【讨论】:

      【解决方案2】:

      我会为您的前端分配一个域名,指向前端的 ip,如果您使用 localhost 进行托管,这可能是您的路由器的 ip 地址(搜索谷歌“我的 ip 是什么”)并且它是对互联网开放。然后,您需要的地址应该是您在 DNS 中设置的域名(例如在 Cloudflare 上),它指向您提供给它的 ip。

      【讨论】:

        猜你喜欢
        • 2021-12-15
        • 2022-06-30
        • 1970-01-01
        • 1970-01-01
        • 2020-11-05
        • 2017-03-04
        • 2018-06-12
        • 2020-12-04
        • 2017-01-25
        相关资源
        最近更新 更多