【发布时间】:2015-06-24 16:50:00
【问题描述】:
我有一个父站点:https://a.company.com,其中包含一个带有 HTTPS 内容的 iframe (https://b.company.com/foo),到目前为止一切都很顺利。但是,当发生重定向以在同一域上加载不同的路由时,Chrome 会将其作为混合内容错误阻止。
在网络流量中查看请求确认浏览器正在请求https,但 Chrome 仍然以我无法加载混合 (http) 内容为由取消请求。
到目前为止,我的所有搜索都是针对尝试加载混合内容的人,而这里不是这种情况。
作为参考,这是 chrome 错误:
混合内容:“https://a.company/foo”处的页面通过 HTTPS 加载,但请求了不安全的资源“http:/b.company/bar”。此请求已被阻止;内容必须通过 HTTPS 提供。
实际的帧源是https://b.company/foo,它可能重定向到https://b.company/bar。如果页面不重定向,则不会发生错误。
【问题讨论】:
-
你能说出/显示 Chrome 到底说了什么吗?您尝试加载不是来自同一域的内容可能是个问题。 en.wikipedia.org/wiki/Same-origin_policy
-
“查看网络流量中的请求,确认浏览器正在请求
https”——请求是一部分……另一部分是,服务器是什么回应。如果它尝试重定向到 HTTP 资源,则可以解释错误。 -
有没有找到解决这个问题的方法?我在 ha-mim.org/kayitlar 上遇到了完全相同的问题。据我在 .htaccess 中看到的,服务器不应将 HTTPS 链接重定向到 HTTP。
-
检查
web.config或.htaccess并确保没有重写规则重定向到http,然后再次重定向到https。例如,您可能有一条规则从重定向到 http 的域名中删除 www,而另一条规则再次从 http 重定向到 https。 -
您的 ssl 是否同时覆盖子域
a和子域b?
标签: html redirect iframe https