IIS 如何设置多个Access-Control-Allow-Origin

时间:2023-04-03 08:20:20

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,

IIS 如何设置多个Access-Control-Allow-Origin

再选择HTTP响应标头

IIS 如何设置多个Access-Control-Allow-Origin

添加

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:*

四项

最终结果是

IIS 如何设置多个Access-Control-Allow-Origin

然后我用localhost和127.0.0.1都可以打开

3,跪求如何实现iis配置,或者其他方法,多个指定的域名跨域访问,欢迎回帖。

(1)Access-Control-Allow-Origin

该字段是必须的。它的值要么是请求时Origin字段的值,要么是一个*,表示接受任意域名的请求。

(来源:http://www.voidcn.com/blog/wangzl1163/article/p-6341208.html