【发布时间】:2013-12-26 19:12:18
【问题描述】:
我们正在尝试从浏览器访问本地自托管 WCF 服务。
WCF 服务位于http://localhost/myWcf。
浏览器正在运行一个位于https://some.www.com 的网站。
我们已启用 CORS 并将 CORS 标头添加到托管的 WCF。使用 jQuery 的 $.ajax 调用来访问 WCF 服务。不使用 SSL 时,所有浏览器都可以正常工作,并且我们会收到“成功”回调。
当切换到 SSL 时,IE 是唯一一个无法发出请求的——“访问被拒绝”。我们将网站移至受信任的站点部分,基本上允许那里的所有内容,但仍然没有成功。我们使用的是 IE11/10,并且我们已经通过它的模拟器尝试了以前的版本。他们都不允许我们提出这个要求。
我们可以像这样从 https 处理位于 http 中的图片:
<img src="http://asdasd">
但我们尝试使用 javascript 它失败了:
var img = new Image();
img.src="http://asdasd";
我们缺少什么? IE中真的不能从https到http的跨域请求吗?
【问题讨论】:
-
您可以解决图片问题,因为 IE 中的图像没有单一来源策略,但有安全到非安全 XHR 的来源策略。
-
@DanielWaters 有什么办法让它工作吗?
-
PKolos 下面的答案会起作用,但存在源策略是有原因的,尤其是对于安全连接。您是否无法通过自签名证书将 HTTP 端点设为 HTTPS?
标签: wcf internet-explorer jquery https cross-domain