使用 CORS 调用本地 URL 时 IE10 中的访问被拒绝
Posted
技术标签:
【中文标题】使用 CORS 调用本地 URL 时 IE10 中的访问被拒绝【英文标题】:Access is Denied in IE10 when using CORS to call a local URL 【发布时间】:2013-11-10 02:03:49 【问题描述】:我已经在我的服务器上启用了 cors,我正在使用这个 website 来测试我的服务器上是否成功启用了 cors。
当我使用 chrome 调用 http://myserver/iisstart.htm
时,它会成功,但是当我使用 IE 时,我得到一个异常 SCRIPT 5: Access is Denied on line xhr.open(method, url, true);
错误发生在 open 方法上,因此与服务器配置无关。
如果我打电话给http://myserver.com/iisstart.htm
,我就不会再出现这个错误了,但是这个电话当然不会起作用,因为我不在.com上
那么当 url 引用本地地址时,为什么 IE 不允许打开 XMLHttpRequest?
【问题讨论】:
【参考方案1】:默认情况下,本地网络上的站点在启用增强保护模式的情况下运行。这可以防止您的本地网络从另一个区域(即 Internet 区域)访问可能不安全的页面。
您有几个选项可以解决这个问题: 1) 确保您只向本地资源发出请求。 2) 在本地 Intranet 区域上禁用 EPM(Internet 选项 -> 安全 -> 本地 Intranet -> 取消选中“启用保护模式”)。这可能是不安全的。 3) 将您的服务器和远程资源添加到您的受信任站点列表中。
祝你好运,希望对你有帮助!
【讨论】:
嗨,格兰特,我按照您的建议做了,但没有运气。但是当你谈到多个区域相互交互时,你给了我一个想法。所以我将网页保存在我的桌面上并打开了 html 文件,现在我可以进行 CORS 调用了。 如果您在 IE 中使用 Native XMLHTTP,安全区域问题会比 EPM 更进一步。 msdn.microsoft.com/en-us/library/ms537505(VS.85).aspx#xdomain以上是关于使用 CORS 调用本地 URL 时 IE10 中的访问被拒绝的主要内容,如果未能解决你的问题,请参考以下文章
在 IE10 的 AJAX CORS 请求中添加自定义标头时,CORS 请求中止