Access-Control-Allow-Origin设置跨域

别说谁变了你拦得住时间么 提交于 2020-12-03 06:01:14

我来自己写一下答案,以给后来的朋友一点思路和建议:
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)

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!