今天早上,将我的Firefox浏览器升级到最新版本(从22到23),我的后台(网站)的一些关键方面停止了工作.
查看Firebug日志,报告了以下错误:
Blocked loading mixed active content "http://code.jquery.com/ui/1.8.10/themes/smoothness/jquery-ui.css"
Blocked loading mixed active content "http://ajax.aspnetcdn.com/ajax/jquery.ui/1.8.10/jquery-ui.min.js"`
Run Code Online (Sandbox Code Playgroud)
除了上面两个中的后者没有被加载导致的其他错误.
以上是什么意思,我该如何解决?
在我启用HTTPS的网站中,我添加了一个iframe,该iframe应该显示来自我的其他网站的内容,但它不能在https下运行.
<iframe src="//myothersite.com"></iframe>
Run Code Online (Sandbox Code Playgroud)
在Firefox最新版本中,一切都很好.
在Chrome中,iframe未加载,在控制台中我看到了这两个错误
Mixed Content: The page at 'https://mysite' was loaded over HTTPS, but requested an insecure resource 'http://myothersite.com'.
This request has been blocked; the content must be served over HTTPS.
Failed to load resource: net::ERR_CACHE_MISS
Run Code Online (Sandbox Code Playgroud)
在IE内容加载不正确,我看到一个警报消息; 如果我单击"允许不安全内容",则会正确加载.
问题是:我如何在Firefox中使用IE和Chrome(加载混合内容而不发出任何警报)?
注意:我没有更改任何浏览器设置.
升级到Safari 9后,我在浏览器中收到此错误:
[Warning] [blocked] The page at https://localhost:8443/login was not allowed to run insecure content from http://localhost:8080/assets/static/script.js.
Run Code Online (Sandbox Code Playgroud)
任何人都知道如何在新的Safari上运行不安全的内容?
有一个wordpress主题,自动拉取选择字体选择并从谷歌字体请求它.当几个选定页面需要ssl时,字体就变成了missing
查看控制台日志:
[已屏蔽]" https://www.example.com/ "上的页面是通过HTTPS加载的,但是运行了来自" http://fonts.googleapis.com/css?family=Alegreya+Sans:300,400,500,700,800 "的不安全内容:此内容也应通过HTTPS加载.
会进入代码并使用谷歌字体的所有https请求工作吗?这有什么解决方法吗?
找到了源代码......但好像它已经在做了这个......在if逻辑中会出现错误吗?
$prefix = "http";
if(isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on') $prefix = "https";
if($get_google_font){
if(!in_array($rule_split[0], $this->used_fonts))
{
$this->extra_output .= "\n<!-- google webfont font replacement -->\n";
$this->extra_output .= '<link id="google_webfont_'.$this->webfont_count.'" rel="stylesheet" type="text/css" href="'.$prefix.'s://fonts.googleapis.com/css?family='.str_replace(' ','+',$rule_split[0]).$font_weight.'" />';
}
Run Code Online (Sandbox Code Playgroud) 我正在强制https访问我的网站,但必须加载一些内容http(例如视频内容不能通过https),但浏览器会因mixed-contents策略阻止请求.
经过几个小时的搜索,我发现我可以使用Content-Security-Policy,但我不知道如何允许混合内容.
<meta http-equiv="Content-Security-Policy" content="????">
Run Code Online (Sandbox Code Playgroud) 我正在开发一个使用HTTP协议服务的网站.在开发中,我使用Webpack和它的webpack-dev-server,它在本地服务于页面http://localhost:9090.
我很惊讶在Firefox 58控制台中看到以下关于加载字体文件的混合内容错误.这对我来说很奇怪,因为页面是使用HTTP而不是HTTPS提供的,我认为混合内容错误仅限于HTTPS页面.
`Blocked loading mixed active content “http://localhost:9090/b1aa06d82e70bbd5a14259a94c9bbb40.ttf”
Run Code Online (Sandbox Code Playgroud)
我发现错误的来源是嵌入在<iframe>页面上的YouTube视频(<iframe src="https://www.youtube.com/embed/...>).我删除YouTube嵌入后,错误就会从控制台中消失.
我不明白这种行为,因为它不是嵌套的HTTPS iframe正在发出这种字体请求,而是外部HTTP页面(顶级浏览上下文)!
外部页面(顶级浏览上下文)使用HTTP提供.只有使用HTTPS获取嵌入式iframe.外部页面生成的字体文件的HTTP请求(不是嵌入式iframe)在Firefox 58控制台中产生混合内容错误.
为了给出一个工作示例,我在Plunker上创建了2个笔,它通过HTTP和导入提供(Plunker站点本身,而不是我的代码)WOFF字体字体Awesome over HTTP.
带有错误的示例(通过 HTTPS嵌入了YouTube iframe)会在Firefox 58控制台中产生以下错误:Blocked loading mixed active content “http://plnkr.co/css/font/Font-Awesome-More.woff”.
示例无错误,即删除iframe的代码相同,不会产生错误.
目前正在从HTTPS jsp进行AJAX调用以从另一个jsp页面调用数据.然而,我们遇到了混合内容问题:
混合内容:" https:// etc / "页面是通过HTTPS加载的,但是请求了一个不安全的XMLHttpRequest端点" http://etc/path/to/other/page.jsp ".此请求已被阻止; 内容必须通过HTTPS提供.
你如何强制通过HTTPS调用AJAX调用?
AJAX调用如下所示:
var url = "/path/to/other/page.jsp";
$.ajax({
type: "POST",
url: url,
data: {data: data},
dataType: "html",
timeout: 4000,
success: function(html) {
/* Code on Success */
}
},
error: function(request, status, error) {
/* Code on Failure
}
});
Run Code Online (Sandbox Code Playgroud)
我能理解我是否正在尝试从HTTPS到HTTP进行呼叫,但我不想这样做.我想强迫它使用HTTPS调用JSP,所以我可以避免混合内容问题.
先感谢您!
/*编辑*/
有趣的是,我在变量URL中输入了一个绝对路径:
var url = "https://etc/path/to/other/page.jsp";
Run Code Online (Sandbox Code Playgroud)
我也遇到了同样的问题.有什么东西迫使这个AJAX调用成为HTTP?
我们如何才能正确使用iframe中嵌入的github页面?
我在firebase中托管了一个网站,它使用的是https的自定义域名,例如https://www.example.com.
这个网站使用反应和其他东西,但对于一个路线(着陆页一个)我想使用github上托管的静态页面,例如https://example.github.io/page.因此,为了实现这一点,我在路线https://www.example.com/page中创建了一个iframe .
问题是我一直收到以下错误:
混合内容:" https://www.example.com/page "上的页面是通过HTTPS加载的,但是请求了一个不安全的资源" http://example.github.io/page/ ".此请求已被阻止; 内容必须通过HTTPS提供.
奇怪的是iframe看起来正确:
<iframe title="Page" src="https://example.github.io/page">unwanted text</iframe>
Run Code Online (Sandbox Code Playgroud)
它已经在使用https了,但看起来这个被忽略了.我已经尝试使用此元数据<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">,关闭iframe </iframe>并在iframe中添加不需要的文本.
我们能解决这个问题吗
尝试通过https查看我的网站时,我的Firefox控制台中出现"阻止加载混合活动内容"错误.我只为我的css和js文件收到此错误.
我很困惑的原因是因为页面代码本身对文件的引用是https:
<link rel="stylesheet" href="https://www.example.com/style.css">
Run Code Online (Sandbox Code Playgroud)
但在控制台中,它显示为http:
阻止加载混合活动内容" http://www.example.com/style.css "[了解详情]
我可以在页面上执行查看源并搜索"http://",并且页面上的任何位置都没有结果.
有任何想法吗?
我已经在 AWS EC2 实例中部署了我的后端/API 服务器,该实例是在没有 SSL 的情况下加载的,并且 url 类似于“ http://ec2-67-ap-southeast-3.compute.amazonaws.com ”
我已经使用AWS AMPLIFY控制台部署了我的 React 前端/客户端。它会自动将SSL添加到生产分支 URL,URL 类似于https://branch.d3as6d542.amplifyapp.com
现在的问题是,我无法从客户端向我的服务器发出任何 API/HTTP 请求。并出现以下错误,
Mixed Content: The page at 'https://branch.d3as6d542.amplifyapp.com' was loaded over HTTPS, but requested an insecure XMLHttpRequest endpoint 'http://ec2-67.ap-southeast-3.compute.amazonaws.com/api/profile’. This request has been blocked; the content must be served over HTTPS.
Run Code Online (Sandbox Code Playgroud)
我能够从我的客户端本地主机开发环境中进行这个 API 调用。但是由于 HTTP 未匹配,AWS AMPLIFY SERVER 出现错误。
我该如何解决这个问题,或者有什么方法可以删除自动添加的 AWS AMPLIFY 的 SSL?
ssl xmlhttprequest amazon-web-services mixed-content aws-amplify
mixed-content ×10
https ×5
css ×2
firefox ×2
http ×2
iframe ×2
security ×2
ajax ×1
aws-amplify ×1
fonts ×1
github-pages ×1
html ×1
javascript ×1
jquery ×1
jsp ×1
meta ×1
safari ×1
safari9 ×1
ssl ×1
webpack ×1
wordpress ×1
youtube-api ×1