CORS 防火墙问题
Posted
技术标签:
【中文标题】CORS 防火墙问题【英文标题】:CORS Firewall problems 【发布时间】:2015-11-30 06:05:06 【问题描述】:我在 www.foo.com 上托管了一个 Angularjs Web 应用程序,在 www.api.foo.com 上托管了它的 Web api。我在服务器端启用了 CORS。这一切都很好。但是 CORS Access-Control-Allow-Origin 标头在公司网络中被剥离(默认情况下,Watchdog 等防火墙会这样做link)。我的网站是一个公共网站。解决此问题的任何建议。到处都建议使用 JSONP,但我也需要发帖。
【问题讨论】:
【参考方案1】:您可以避免直接从 Angular 调用 api.foo.com,而是使用 foo.com 作为 api.foo.com 的代理。这是一种已知的技术,因此您可以在网上找到详细信息。缺点是您必须处理两个请求,一个普通的前端-后端 ajax 请求和一个服务器-服务器调用 (foo.com -> api.foo.com)。
由于您有一个 Angular 应用程序,您还需要从 SPA 中排除部分 URL。 foo.com/api/* 之类的内容无法重定向到初始化应用程序的 index.html。否则你的所有请求都会失败。
【讨论】:
以上是关于CORS 防火墙问题的主要内容,如果未能解决你的问题,请参考以下文章