Access-Control-Allow-Origin设置跨域

我来自己写一下答案,以给后来的朋友一点思路和建议:
1,首先把Access-Control-Allow-Origin设置成*是不妥的,自己的接口服务器不能允许所有人都可以访问。
2,具体哪里可以设置Access-Control-Allow-Origin呢,

a,web.config中可以设置;

b,需要在IIS服务器站点的功能视图中设置HTTP响应标头;
(a,b可以参考:http://www.th7.cn/Program/net...

c,通过nginx代理服务器进行设置;

d,修改接口api,在每个api上添加响应头;https://docs.microsoft.com/en...

e,拦截器方式(是d的一种封装)http://ask.csdn.net/questions...http://stackoverflow.com/ques...

ab只能设置一个域名或*,
c需要更多知识背景,配置更多环境,相对windows Server来说不太适合
d,是微软给出的最终解决方案,但是不是最佳方案,
e是对d的一种封装,写一个拦截器,应用到所有控制器上,在拦截器里控制来访域名,动态设置Access-Control-Allow-Origin的值.

根据自己情况选择合适的解决方案,这里我选择了e方案

ie9以下的支持方案:

A CORS proxy for IE9 and below (jQuery + ASP.NET)

 

posted @ 2019-03-05 09:32  自由的鱼  阅读(24910)  评论(0编辑  收藏  举报