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字段的值,要么是一个*,表示接受任意域名的请求。

posted @ 2019-11-29 11:53  春江花月夜、  阅读(923)  评论(0编辑  收藏  举报