サーバーをだます方法があるので、このエラーは発生しません:
有効なセキュリティ証明書によって署名されていないため、コンテンツはブロックされました。
私はhtml Webサイトのiframeを別のWebサイトにプルしていますが、この質問のタイトルとInternet Explorerでコンソール(クロム)エラーが表示され続けます。
有効なセキュリティ証明書によって署名されていないため、コンテンツはブロックされました。
サーバーをだます方法があるので、このエラーは発生しません:
有効なセキュリティ証明書によって署名されていないため、コンテンツはブロックされました。
私はhtml Webサイトのiframeを別のWebサイトにプルしていますが、この質問のタイトルとInternet Explorerでコンソール(クロム)エラーが表示され続けます。
有効なセキュリティ証明書によって署名されていないため、コンテンツはブロックされました。
回答:
リソースはおそらくHTTPSプロトコルを介した自己署名SSL証明書を使用しています。Chromiumなので、Google Chromeはデフォルトでこの種類のリソースを安全ではないと見なしてブロックします。
これをこのようにバイパスすることができます:
https://www.domain.com
である、Chromeで新しいタブを開き、に移動しhttps://www.domain.com
ます。ご想像のとおり、問題は、Webサイトの各訪問者がフレームにアクセスするためにこのタスクを実行する必要があることです。
ChromeはナビゲーションセッションごとにURLをブロックしますが、Chromeはこのドメインを信頼していることをいつまでも記憶できます。
フレームがHTTPSではなくHTTPでアクセスできる場合は、フレームを使用することをお勧めします。この問題は解決されます。
https://domain.com
、SSL証明書に移動して受け入れる必要があると思います。
Google Chromeでこのエラーがスローされない場合でも、スローされることがあります。Chromeに新しいバージョンがあり、それを再起動する必要があったときに私はそれを経験しました。同じページを再起動した後、エラーなしで動作しました。コンソールのエラーは:
net::ERR_INSECURE_RESPONSE
chrome://net-internals
ますか?
EdgeとChromeブラウザー(最新)の両方のAsus T100 Windows 10テストデバイスで、上記の問題がまだ発生しました。
解決策は、デバイスの日付/時刻設定にありました。どういうわけか日付が正しく設定されていません(過去の日付)。正しい日付を設定して(そしてブラウザーを再起動して)これを復元すると、問題が解決しました。私は誰かがこの問題をデバッグする頭痛を救うことを望みます。
あなたが開発していて、あなたがWindowsマシンで開発しているなら、単に追加してください localhost
、信頼済みサイトとしてです。
はい、DarrylGriffithsのコメントによると、Internet Explorerの設定を追加しているように見えるかもしれませんが...
IEの設定ではなくWindowsだと思います。MSはそれらがIEのみであると想定する傾向があります(したがって、「保護モードを有効にする」の横に、再起動するIEを要求するというアラートがあるため)...
このエラーに対する別の潜在的な解決策を提供します。
バックエンドへのAPI呼び出しを行うフロントエンドアプリケーションがある場合は、証明書が発行されたドメイン名を必ず参照してください。
例えば
https://example.com/api/etc
ではなく
https://123.4.5.6/api/etc
私の場合は、証明書を使用してセキュアサーバーにAPI呼び出しを行っていましたが、ドメイン名の代わりにIPを使用していました。これは投げたFailed to load resource: net::ERR_INSECURE_RESPONSE
。
このコードを試して、可能性を監視して報告してください net::ERR_INSECURE_RESPONSE
Chrome設定に保存しないことを選択した自己署名証明書を使用して、この問題も発生していました。httpsドメインにアクセスして証明書を受け入れた後、ajax呼び出しは正常に機能します。ただし、その受け入れがタイムアウトするか、最初に受け入れられる前に、jQuery.ajax()
呼び出しは警告なしに失敗しtimeout
ます。パラメータは役に立たないようで、error()
関数が呼び出されることは。
そのため、私のコードはsuccess()
or error()
呼び出しを受信しないため、ハングします。これは、jqueryによるこのエラーの処理のバグだと思います。私の解決策は、error()
、指定されたタイムアウト後呼び出しです。
このコードは、フォームのjquery ajax呼び出しを想定していjQuery.ajax({url: required, success: optional, error: optional, others_ajax_params: optional})
ます。
注:内の関数を変更して、setTimeout
を呼び出すのではなく、UIに最適に統合することができますalert()
。
const MS_FOR_HTTPS_FAILURE = 5000;
$.orig_ajax = $.ajax;
$.ajax = function(params)
{
var complete = false;
var success = params.success;
var error = params.error;
params.success = function() {
if(!complete) {
complete = true;
if(success) success.apply(this,arguments);
}
}
params.error = function() {
if(!complete) {
complete = true;
if(error) error.apply(this,arguments);
}
}
setTimeout(function() {
if(!complete) {
complete = true;
alert("Please ensure your self-signed HTTPS certificate has been accepted. "
+ params.url);
if(params.error)
params.error( {},
"Connection failure",
"Timed out while waiting to connect to remote resource. " +
"Possibly could not authenticate HTTPS certificate." );
}
}, MS_FOR_HTTPS_FAILURE);
$.orig_ajax(params);
}