CORS防火墙问题

时间:2015-09-04 07:01:43

标签: c# asp.net angularjs cors asp.net-web-api

我在www.foo.com上有一个Angularjs Web应用程序,在www.api.foo.com上有一个Web api。我在服务器端启用了CORS。这一切都运行良好。但CORS Access-Control-Allow-Origin标头在企业网络中被剥离(Watchdog等防火墙默认执行此操作link)。我的网站是一个公共网站。任何建议来解决这个问题。建议使用JSONP,但我也需要发帖。

1 个答案:

答案 0 :(得分:1)

您可以避免直接从angular调用api.foo.com,而是使用foo.com作为api.foo.com的代理。它是一种已知技术,因此您可以在线查找详细信息。缺点是您必须处理两个请求,一个正常的前端后端ajax请求和一个服务器 - 服务器调用(foo.com - > api.foo.com)。

由于您有Angular应用程序,因此您还需要从SPA中排除部分URL。像foo.com/api/*之类的东西无法重定向到初始化应用程序的index.html。否则你的所有请求都将失败。