Gibt es eine Möglichkeit, den Server auszutricksen, damit ich diesen Fehler nicht bekomme:
Der Inhalt wurde blockiert, da er nicht mit einem gültigen Sicherheitszertifikat signiert war.
Ich ziehe einen Iframe einer HTML-Website in eine andere Website, erhalte jedoch weiterhin den Konsolenfehler (Chrome) im Titel dieser Frage und im Internet Explorer heißt es:
Der Inhalt wurde blockiert, da er nicht mit einem gültigen Sicherheitszertifikat signiert war.
iframe
ssl-certificate
chromium
self-signed
user3594437
quelle
quelle
Antworten:
Ihre Ressource verwendet wahrscheinlich ein selbstsigniertes SSL-Zertifikat über das HTTPS-Protokoll. Chromium, daher blockiert Google Chrome diese Art von Ressource standardmäßig als unsicher.
Sie können dies folgendermaßen umgehen:
https://www.domain.com
: Öffnen Sie einen neuen Tab in Chrome und gehen Sie zuhttps://www.domain.com
.Wie Sie sich vorstellen können, besteht das Problem darin, dass jeder Besucher Ihrer Website diese Aufgabe ausführen muss, um auf Ihren Frame zuzugreifen.
Sie können feststellen, dass Chrome Ihre URL für jede Navigationssitzung blockiert, während Chrome sich für immer merken kann, dass Sie dieser Domain vertrauen.
Wenn auf Ihren Frame nicht über HTTPS, sondern über HTTP zugegriffen werden kann, empfehlen wir Ihnen, ihn zu verwenden, damit dieses Problem behoben wird.
quelle
https://domain.com
das SSL-Zertifikat aufrufen und akzeptieren.Manchmal löst Google Chrome diesen Fehler aus, auch wenn dies nicht der Fall sein sollte. Ich habe es erlebt, als Chrome eine neue Version hatte und sie neu gestartet werden musste. Nach dem Neustart funktionierte dieselbe Seite fehlerfrei. Der Fehler in der Konsole war:
quelle
chrome://net-internals
?Das oben beschriebene Problem trat immer noch auf einem Asus T100 Windows 10-Testgerät für den (aktuellen) Edge- und Chrome-Browser auf.
Die Lösung lag in den Datums- / Uhrzeiteinstellungen des Geräts . Irgendwie wurde das Datum nicht richtig eingestellt (Datum in der Vergangenheit). Das Wiederherstellen dieses Problems durch Einstellen des richtigen Datums (und Neustarten der Browser) löste das Problem für mich. Ich hoffe, ich erspare jemandem Kopfschmerzen beim Debuggen dieses Problems.
quelle
Öffnen Sie Ihre Konsole und klicken Sie auf die URL. Sie werden zur API-Seite weitergeleitet und akzeptieren dann auf der Seite das SSL-Zertifikat, kehren zu Ihrer App-Seite zurück und laden neu. Denken Sie daran, dass SSL-Zertifikate zuvor für Ihre Dev-Umgebung ausgestellt worden sein sollten.
quelle
Wenn Sie entwickeln und mit einem Windows-Computer entwickeln, fügen Sie ihn einfach
localhost
als vertrauenswürdige Site hinzu .Und ja, laut DarrylGriffiths 'Kommentar, obwohl es so aussieht, als würden Sie eine Internet Explorer-Einstellung hinzufügen ...
quelle
Bietet eine weitere mögliche Lösung für diesen Fehler.
Wenn Sie über eine Frontend-Anwendung verfügen, die API-Aufrufe an das Backend ausführt, verweisen Sie auf den Domänennamen, für den das Zertifikat ausgestellt wurde.
z.B
und nicht
In meinem Fall habe ich API-Aufrufe an einen sicheren Server mit einem Zertifikat durchgeführt, aber die IP anstelle des Domänennamens verwendet. Dies warf ein
Failed to load resource: net::ERR_INSECURE_RESPONSE
.quelle
Versuchen Sie diesen Code, um nach einem möglichen zu suchen und ihn zu melden
net::ERR_INSECURE_RESPONSE
Ich hatte auch dieses Problem mit einem selbstsignierten Zertifikat, das ich nicht in den Chrome-Einstellungen gespeichert habe. Nach dem Zugriff auf die https-Domäne und dem Akzeptieren des Zertifikats funktioniert der Ajax-Aufruf einwandfrei. Sobald diese Annahme abgelaufen ist oder bevor sie zum ersten Mal angenommen wurde,
jQuery.ajax()
schlägt der Aufruf stillschweigend fehl: Dertimeout
Parameter scheint keine Hilfe zu sein und dieerror()
Funktion wird nie aufgerufen.Daher erhält mein Code niemals einen
success()
oder einenerror()
Anruf und hängt daher. Ich glaube, dies ist ein Fehler in der Behandlung dieses Fehlers durch jquery. Meine Lösung besteht darin, denerror()
Anruf nach einer bestimmten Zeitüberschreitung zu erzwingen .Dieser Code setzt einen jquery ajax-Aufruf des Formulars voraus
jQuery.ajax({url: required, success: optional, error: optional, others_ajax_params: optional})
.Hinweis: Sie möchten wahrscheinlich die Funktion innerhalb von ändern,
setTimeout
um sie am besten in Ihre Benutzeroberfläche zu integrieren: anstatt sie aufzurufenalert()
.quelle
Dieses Problem liegt an Ihrem https, was eine SSL-Zertifizierung bedeutet. Probieren Sie Localhost aus.
quelle