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

Posted girliswater

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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字段的值,要么是一个*,表示接受任意域名的请求。

以上是关于IIS 如何设置多个Access-Control-Allow-Origin的主要内容,如果未能解决你的问题,请参考以下文章

一台 IIS 服务器上的多个网站

如何设置IIS程序池的回收时间,才能最大程度的减少对用户的影响?

超强IIS站点工具一键设置PHP,支持多个PHP同时运行

解决IIS设置多个工作进程中Session失效的问题

iis下的多个网站如何共用80端口

在多个绑定上托管 IIS 站点时如何获取正确的本地地址 URI?