IIS 如何设置多个Access-Control-Allow-Origin
1,跨域请求ajax,可以增加请求Header,动态添加
System.Collections.Generic.List<string> lHost = new System.Collections.Generic.List<string>(); #region 添加允许跨域请求的域名列表 lHost.Add("www.p2pxinwen.com"); lHost.Add("m.p2pxinwen.com"); #endregion string host = context.Request.UrlReferrer == null ? "" : context.Request.UrlReferrer.Host;//获取从哪个域名发送的ajax请求本页面或者是直接访问 if (lHost.Contains(host)) { //在允许的域名列表里面才添加Access-Control-Allow-Origin响应头 context.Response.AddHeader("Access-Control-Allow-Origin", "http://" + host); }
2,如果跨域请求svg、woff文件,需要在iis中配置响应头,但是只能实现一个域名或者是任意域名,不能是指定的多个域名。
解决办法:1.打开IIS,选择Default Web Site,
再选择HTTP响应标头
添加
Access-Control-Allow-Credentials:true
Access-Control-Allow-Headers:origin,x-requested-with,content-type
Access-Control-Allow-Methods:POST,GET,OPTIONS
Access-Control-Allow-Origin:*
四项
最终结果是
然后我用localhost和127.0.0.1都可以打开
3,跪求如何实现iis配置,或者其他方法,多个指定的域名跨域访问,欢迎回帖。
(1)Access-Control-Allow-Origin
该字段是必须的。它的值要么是请求时Origin
字段的值,要么是一个*
,表示接受任意域名的请求。