IIS7.5以上配置允许指定的域名进行ajax跨域访问

一般来说,如果是要允许跨域访问,最简单的设置,就是在 Web.config 中,将 Access-Control-Allow-Origin 设置为 * 即可,如下所示:







如果觉得编辑web.config文件容易出错,你可以打开相应站点的http响应标头,加入以下名称和对应的值:

Access-Control-Allow-Origin *
Access-Control-Allow-Methods POST
Access-Control-Allow-Headers content-type

但是对于强迫症来说,这样大而全的设置,感觉上不利于网站的安全。那么,如果要具体的指定允许跨域访问的域名,怎么处理呢?

第一种情况:指定具体的单个域名。

这种情况很好处理,在上面的配置中,将 Access-Control-Allow-Origin 的 value 设置为该域名(http://bbb.aaa.com)即可,注意:不能使用泛域名,而且必须输入完整地址,不能只输入单独的域名。

第二种情况:指定多个域名。

这种情况,就不能在上述的 value 中写入多个域名了,哪怕用逗号分隔,也完全没有用。

这时,可以使用 URL Rewrite 组件达到这个效果。

URL Rewrite 的安装方式:

可以从微软官方下载 URL Rewrite(支持 IIS 7 以及之后的版本)
可以在 IIS 中使用 Web 平台安装器 进行安装
该组件安装好后(重启服务器),在 Web.config 中定位到 ,不用再添加 中的跨域配置了,取而代之的是添加 的配置,如下所示:













至此,允许多个指定域名的跨域访问就配置完了。

目前共 0 条评论