Access-Control-Allow-Origin設置跨域

我來本身寫一下答案,以給後來的朋友一點思路和建議:
1,首先把Access-Control-Allow-Origin設置成*是不妥的,本身的接口服務器不能容許全部人均可以訪問。
2,具體哪裏能夠設置Access-Control-Allow-Origin呢,html

a,web.config中能夠設置;nginx

b,須要在IIS服務器站點的功能視圖中設置HTTP響應標頭;
(a,b能夠參考:http://www.th7.cn/Program/net...git

c,經過nginx代理服務器進行設置;github

d,修改接口api,在每一個api上添加響應頭;https://docs.microsoft.com/en...web

e,攔截器方式(是d的一種封裝)http://ask.csdn.net/questions...http://stackoverflow.com/ques...windows

ab只能設置一個域名或*,
c須要更多知識背景,配置更多環境,相對windows Server來講不太適合
d,是微軟給出的最終解決方案,可是不是最佳方案,
e是對d的一種封裝,寫一個攔截器,應用到全部控制器上,在攔截器裏控制來訪域名,動態設置Access-Control-Allow-Origin的值.api

根據本身狀況選擇合適的解決方案,這裏我選擇了e方案服務器

ie9如下的支持方案:mvc

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

相關文章
相關標籤/搜索