リソースの読み込みに失敗しました:net :: ERR_INSECURE_RESPONSE


206

サーバーをだます方法があるので、このエラーは発生しません:

有効なセキュリティ証明書によって署名されていないため、コンテンツはブロックされました。

私はhtml Webサイトのiframeを別のWebサイトにプルしていますが、この質問のタイトルとInternet Explorerでコンソール(クロム)エラーが表示され続けます。

有効なセキュリティ証明書によって署名されていないため、コンテンツはブロックされました。


安全なリソースから安全でないリソースにアクセスしようとしているようです。ここでも同様の問題があると思います
デレク

回答:


301

リソースはおそらくHTTPSプロトコルを介した自己署名SSL証明書を使用しています。Chromiumなので、Google Chromeはデフォルトでこの種類のリソースを安全ではないと見なしてブロックします。

これをこのようにバイパスすることができます:

  • あなたのフレームのURLが https://www.domain.comである、Chromeで新しいタブを開き、に移動しhttps://www.domain.comます。
  • Chromeでは、SSL証明書を受け入れるように求められます。受け入れ。
  • 次に、フレームを使用してページをリロードすると、機能することがわかります

ご想像のとおり、問題は、Webサイトの各訪問者がフレームにアクセスするためにこのタスクを実行する必要があることです。

ChromeはナビゲーションセッションごとにURLをブロックしますが、Chromeはこのドメインを信頼していることをいつまでも記憶できます。

フレームがHTTPSではなくHTTPでアクセスできる場合は、フレームを使用することをお勧めします。この問題は解決されます。


1
他のタブを開いたらhttps://domain.com、SSL証明書に移動して受け入れる必要があると思います。
Hozefa 2014

2
@RémiBecheras、Chromeに複数のナビゲーションセッションで証明書を信頼することを覚えさせる方法はありますか?
Felix

3
このようなルールを追加するには、証明書を取得する必要があります。それがあなたのものであれば、あなたはすでにそれを持っています。表示されない場合は、アドレスバーのhttps左アイコン>証明書情報>詳細>エクスポートをクリックしてください。次に、このファイルを使用
レミBecheras

1
これは、サイトが同じドメイン(それ自体)にリクエストを送信していて、自己署名証明書を通過することを承認した奇妙なケースでも機能しましたが、Chromeがこのエラーをスローしていました。
マイケル

1
クライアント側のコードを通じてこの種のバイパスを行う方法はありますか?つまり、「アクセスしようとしているこのサーバーは大雑把に見えますが、大丈夫です。私はあなたに両方を書きました、あなたは兄弟/姉妹/性別のニュートラルな兄弟を技術的にコーディングしています」?
ディコダン

33

Google Chromeでこのエラーがスローされない場合でも、スローされることがあります。Chromeに新しいバージョンがあり、それを再起動する必要があったときに私はそれを経験しました。同じページを再起動した後、エラーなしで動作しました。コンソールのエラーは:

net::ERR_INSECURE_RESPONSE

7
確認しました。Chromeの再起動(およびすべてのバックグラウンドChromeプロセスを強制終了)で修正しました。
Oran Dennison、2015

5
動作しません。自己署名証明書です。再起動しても機能しません
user1735921

1
私も確認!
nemke 2015年

@Balazs、ブラウザの再起動が唯一の方法ですか?再起動する余裕がないと仮定すると、それを行う方法はありchrome://net-internalsますか?
Pacerier 2016年

1
Chromeを再起動すると(バックグラウンドプロセスなしで)修正されました。ありがとう!
EnocNRoll-AnandaGopal Pardue

8

EdgeとChromeブラウザー(最新)の両方のAsus T100 Windows 10テストデバイスで、上記の問題がまだ発生しました。

解決策は、デバイスの日付/時刻設定にありました。どういうわけか日付が正しく設定されていません(過去の日付)。正しい日付を設定して(そしてブラウザーを再起動して)これを復元すると、問題が解決しました。私は誰かがこの問題をデバッグする頭痛を救うことを望みます。


Windows 8を実行しているasus zenbookで同様のエラーが発生しました。残念ながらこれはうまくいきませんでしたが、日付/時刻をリセットする方法を詳しく説明できますか?WindowsのUIからタイムゾーンを設定するだけですか。
DEは2017

@DEls、私はWindows構成でタイムゾーンを切り替えました-システムクロックをリセットしました。その後、ブラウザを再起動しましたか?タイミングが問題を解決しなかった場合、このトピックで説明されている他のソリューションを調べる必要があるかもしれません。
Sebastiaan Ordelman 2017

理由はわかりませんが、これでうまくいきました。年は2048年に設定され、現在の年に変更され、すべて固定されました。ありがとう@SebastiaanOrdelman
deanwilliammills

6

コンソールを開き、内部のURLを押します。APIページに移動し、ページでSSL証明書を受け入れ、アプリのページに戻って再読み込みします。SSL証明書は、以前に開発環境用に発行されている必要があることに注意してください。


4

あなたが開発していて、あなたがWindowsマシンで開発しているなら、単に追加してください localhost 、信頼済みサイトとしてです。

はい、DarrylGriffithsのコメントによると、Internet Explorerの設定を追加しているように見えるかもしれませんが...

IEの設定ではなくWindowsだと思います。MSはそれらがIEのみであると想定する傾向があります(したがって、「保護モードを有効にする」の横に、再起動するIEを要求するというアラートがあるため)...


4
WindowsではなくLinux Ubuntuを使用していますか?
user1735921 2015

4

このエラーに対する別の潜在的な解決策を提供します。

バックエンドへのAPI呼び出しを行うフロントエンドアプリケーションがある場合は、証明書が発行されたドメイン名を必ず参照してください。

例えば

https://example.com/api/etc

ではなく

https://123.4.5.6/api/etc

私の場合は、証明書を使用してセキュアサーバーにAPI呼び出しを行っていましたが、ドメイン名の代わりにIPを使用していました。これは投げたFailed to load resource: net::ERR_INSECURE_RESPONSE


0

このコードを試して、可能性を監視して報告してください 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);
}

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.