首页 > 解决方案 > 是否可以将 IE 配置为允许 XHR 从 HTTPS 访问“http://127.0.0.1”?

问题描述

FF (62) 和 Chrome (69) 考虑http://127.0.0.1一个潜在的可信URL。此行为在localhost 的证书文章中进行了描述,详细信息在w3.org 站点上提供。

这允许http://127.0.0.1从内部执行 XHR 请求HTTPS。例如,如果有本地服务正在运行,资源上的 JS 代码https://something-in-my-network.net可以执行 XHR 。http://127.0.0.1:8080

但是 IE (11) 禁止这些请求。

是否可以将 IE 配置为允许 XHRhttp://127.0.0.1从内部访问HTTPS

以下代码可用于重现该问题:

var xhr = new XMLHttpRequest();
xhr.open('GET', 'http://127.0.0.1:8080', true);

IE 会立即抛出Access denied,而其他浏览器则不会。

标签: javascripthttphttpsxmlhttprequest

解决方案


如果您只是对 localhost 执行正常的 XHR http 请求,它将作为安全区域功能的一部分创建一个错误。有一种方法可以在代码之外完成这项工作。您必须将“ http://client.cors-api.appspot.com ”添加到“受信任的站点”区域。


推荐阅读