Caricamento della risorsa: net :: ERR_INSECURE_RESPONSE non riuscito


206

Esiste un modo per ingannare il server, quindi non ottengo questo errore:

Il contenuto è stato bloccato perché non è stato firmato da un certificato di sicurezza valido.

Sto inserendo un iframe di un sito Web HTML in un altro sito Web, ma continuo a ricevere l'errore console (chrome) nel titolo di questa domanda e in Internet Explorer dice:

Il contenuto è stato bloccato perché non è stato firmato da un certificato di sicurezza valido.


sembra che tu stia provando ad accedere a una risorsa non sicura da una risorsa sicura. Credo che abbiano un problema simile qui .
Derek,

Risposte:


301

La tua risorsa probabilmente utilizza un certificato SSL autofirmato sul protocollo HTTPS. Chromium, quindi Google Chrome blocca per impostazione predefinita questo tipo di risorsa considerata non sicura.

Puoi bypassarlo in questo modo:

  • Supponendo che l'URL della cornice sia https://www.domain.com, apri una nuova scheda in Chrome e vai a https://www.domain.com.
  • Chrome ti chiederà di accettare il certificato SSL. Accettarlo.
  • Quindi, se ricarichi la tua pagina con la cornice, potresti vedere che ora funziona

Il problema, come puoi immaginare, è che ogni visitatore del tuo sito web deve svolgere questa attività per accedere al tuo frame.

Puoi notare che Chrome bloccherà il tuo URL per ogni sessione di navigazione, mentre Chrome può memorizzare per sempre che ti fidi di questo dominio.

Se è possibile accedere al tuo frame tramite HTTP anziché HTTPS, ti suggerisco di usarlo, quindi questo problema verrà risolto.


1
Penso che quando apri l'altra scheda, devi andare su https://domain.come accettare il certificato SSL.
Hozefa,

2
@ RémiBecheras, c'è un modo per convincere Chrome a ricordare di fidarsi del certificato su più sessioni di navigazione?
Felix

3
Per aggiungere una tale regola, devi ottenere il certificato. Se è tuo, ce l'hai già. In caso contrario, fai clic sull'icona a sinistra https nella barra degli indirizzi> informazioni sul certificato> dettagli> esporta. Quindi, utilizzare questo file
Rémi Becheras il

1
Questo ha funzionato anche nel caso strano in cui un sito stava inviando una richiesta allo stesso dominio (stesso) che avevo appena approvato continuando oltre il certificato autofirmato ma poi Chrome stava lanciando questo errore.
Michael,

1
C'è un modo per fare questo tipo di bypass attraverso il codice lato client? Voglio dire, posso programmare nel client "hey questo server a cui stai tentando di accedere sembra impreciso, ma va bene fidati di me. Ho scritto entrambi, tecnicamente codice fratelli / sorelle / fratelli neutrali di genere"?
Discodane,

33

A volte Google Chrome genera questo errore, anche se non dovrebbe. L'ho sperimentato quando Chrome aveva una nuova versione e doveva essere riavviato. Dopo aver riavviato la stessa pagina ha funzionato senza errori. L'errore nella console era:

net::ERR_INSECURE_RESPONSE

7
Confermato, un riavvio di Chrome (e l'uccisione di tutti i processi Chrome in background) lo ha risolto per me.
Oran Dennison,

5
non funziona .. è un certificato autofirmato .. non funzionerà riavviando
user1735921

1
Confermato anche con me!
nemke,

@Balazs, Il riavvio del browser è l'unico modo? Supponendo che non possiamo permetterci di riavviare, c'è un modo per farlo tramite chrome://net-internals?
Pacerier,

1
Un riavvio di Chrome (senza processi in background) lo ha risolto anche per me. Grazie!
EnocNRoll - AnandaGopal Pardue,

8

Ho ancora riscontrato il problema sopra descritto su un dispositivo di test Asus T100 per Windows 10 per entrambi i browser Edge e Chrome (aggiornati).

La soluzione era nelle impostazioni di data / ora del dispositivo ; in qualche modo la data non è stata impostata correttamente (data del passato). Ripristinandolo impostando la data corretta (e riavviando i browser) ho risolto il problema per me. Spero di salvare a qualcuno un mal di testa durante il debug di questo problema.


Riscontro un errore simile su un asus zenbook con Windows 8. Sfortunatamente, questo non ha funzionato per me, ma puoi spiegarmi più in dettaglio come resettare la data / ora? Basta impostare il fuso orario attraverso l'interfaccia utente di Windows?
DEls

@DEls, ho cambiato fuso orario nella configurazione di Windows - che ha ripristinato l'orologio di sistema per me. Successivamente hai riavviato il browser? Se il tempismo non ha risolto il problema, potrebbe essere necessario esaminare l'altra soluzione descritta in questo argomento.
Sebastiaan Ordelman,

Non so perché, ma ha funzionato per me. L'anno è stato fissato al 2048, è stato modificato nell'anno corrente e tutto è stato risolto. Grazie @SebastiaanOrdelman
deanwilliammills il

6

apri la tua console e premi l'URL all'interno. ti porterà alla pagina API e quindi nella pagina accetta il certificato SSL, torna alla pagina della tua app e ricarica. ricorda che i certificati SSL avrebbero dovuto essere emessi prima per il tuo ambiente Dev.


4

Se stai sviluppando e stai sviluppando con un computer Windows, aggiungi semplicemente localhost come sito attendibile .

E sì, secondo il commento di DarrylGriffiths, anche se può sembrare che tu stia aggiungendo un'impostazione di Internet Explorer ...

Credo che siano le impostazioni di Windows anziché di IE. Sebbene gli Stati membri tendano ad assumere che sono solo IE (quindi l'avviso accanto a "Abilita modalità protetta" che richiede il riavvio di IE) ...


4
Sto usando Ubuntu Linux, non Windows, qualche soluzione?
user1735921

4

Offrendo un'altra potenziale soluzione a questo errore.

Se si dispone di un'applicazione front-end che effettua chiamate API al back-end, assicurarsi di fare riferimento al nome di dominio a cui è stato emesso il certificato.

per esempio

https://example.com/api/etc

e non

https://123.4.5.6/api/etc

Nel mio caso, stavo effettuando chiamate API a un server sicuro con un certificato, ma utilizzando l'IP anziché il nome di dominio. Questo ha gettato a Failed to load resource: net::ERR_INSECURE_RESPONSE.


0

Prova questo codice per cercare e segnalare un possibile net::ERR_INSECURE_RESPONSE

Stavo riscontrando anche questo problema, utilizzando un certificato autofirmato, che ho scelto di non salvare nelle Impostazioni di Chrome. Dopo aver effettuato l'accesso al dominio https e aver accettato il certificato, la chiamata ajax funziona correttamente. Ma una volta che l'accettazione è scaduta o prima che sia stata accettata per la prima volta, la jQuery.ajax()chiamata fallisce silenziosamente: il timeoutparametro non sembra essere d'aiuto e la error()funzione non viene mai chiamata.

Come tale, il mio codice non riceve mai un success()o error()chiamata e quindi si blocca. Credo che questo sia un bug nella gestione di questo errore da parte di jquery. La mia soluzione è forzare la error()chiamata dopo un timeout specificato.

Questo codice presuppone una chiamata ajax jquery del modulo jQuery.ajax({url: required, success: optional, error: optional, others_ajax_params: optional}).

Nota: probabilmente vorrai cambiare la funzione all'interno setTimeoutper integrarla al meglio con la tua UI: piuttosto che chiamare 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);
}

0

Questo problema è dovuto al tuo https che significa certificazione SSL. Prova Localhost.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.