CORS与后端& Angular2前端

时间:2016-08-22 08:07:51

标签: angularjs http-headers

我有以下架构:

  1. 通过REST api提供服务的后端。此后端使用在http://localhost:8080上启动的嵌入式Tomcat服务器。
  2. Angular 2中的前端,http://localhost:8000上有一个静态HTTP服务器(lite-server)。前端通过“@ angular / http”发送请求后端。
  3. 前端发布在互联网上,供所有人使用。 我想保护CORS的后端(只有我的前端可以在后端请求)。

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

    我的理解是否正确? 我的架构坏吗? 这个问题的解决方案是什么?

2 个答案:

答案 0 :(得分:1)

我认为一定是这样的:

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

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

答案 1 :(得分:0)

我要为您的前端分配一个域名,指向前端的IP,如果您使用本地主机托管,则可能是路由器的IP地址(在Google上搜索“ what is my ip”)。打开互联网。然后,您需要的地址应该是您在DNS中设置的域名(例如,在Cloudflare上),该域名指向您为其提供的IP。