http 请求已被 https 阻止

Posted

技术标签:

【中文标题】http 请求已被 https 阻止【英文标题】:http request has been block from https 【发布时间】:2015-12-17 00:30:17 【问题描述】:

我有以下一个问题:

混合内容:“https://example.com”处的页面通过 HTTPS 加载,但请求了不安全的 XMLHttpRequest 端点“http://api.example.com/api/demo.php”。此请求已被阻止;内容必须通过 HTTPS 提供。

从 'https://example.com' 到 'http://api.example.com/api/demo.php' 的请求可以正常工作

【问题讨论】:

【参考方案1】:

这是一个混合内容警告,是一种不好的做法。 See below from mozilla

当用户访问通过 HTTPS 提供的页面时,他们与 Web 服务器使用 TLS 加密,因此可以防止嗅探器 和中间人攻击。

如果 HTTPS 页面包含通过常规检索的内容, 明文 HTTP,则连接仅部分加密: 嗅探器可以访问未加密的内容,并且可以通过以下方式修改 中间人攻击者,因此连接不是 不再受到保护。当一个网页表现出这种行为时,它是 称为混合内容页面。

你应该要么;

修改为使用 https 端点或 将请求代理为 https。

【讨论】:

对 AJAX 调用(和任何其他资源)使用相对协议的 URL 是“轻松解决”此问题的一种方法。

以上是关于http 请求已被 https 阻止的主要内容,如果未能解决你的问题,请参考以下文章

从源“http://localhost:3000”访问“https://***”处的 XMLHttpRequest 已被 CORS 策略阻止

http://localhost:4200' 已被 CORS 策略阻止:对预检请求的响应未通过

如何解决这个“http://localhost:8080”已被 CORS 策略阻止:对预检请求的响应未通过 vueJS 中的访问控制?

domain.com 已被 CORS 策略阻止:对预检请求的响应未通过访问控制检查:它没有 HTTP ok 状态

本地主机已被 cors 策略请求标头字段内容类型阻止访问控制不允许

从源“http://localhost:4200”访问“https://exam.com/api/Uni/GetAll”的 XMLHttpRequest 已被 CORS 策略阻止