Czy istnieje sposób na oszukanie serwera, więc nie dostaję tego błędu:
Treść została zablokowana, ponieważ nie została podpisana ważnym certyfikatem bezpieczeństwa.
Wciągam iframe strony HTML do innej strony, ale wciąż pojawia się błąd konsoli (chrome) w tytule tego pytania, a w Internet Explorerze jest napisane:
Treść została zablokowana, ponieważ nie została podpisana ważnym certyfikatem bezpieczeństwa.
iframe
ssl-certificate
chromium
self-signed
użytkownik3594437
źródło
źródło
Odpowiedzi:
Twój zasób prawdopodobnie używa samopodpisanego certyfikatu SSL za pośrednictwem protokołu HTTPS. Chrom, więc Google Chrome domyślnie blokuje ten rodzaj zasobu uważany za niezabezpieczony.
Możesz ominąć w ten sposób:
https://www.domain.com
, otwórz nową kartę w chrome i przejdź dohttps://www.domain.com
.Problem, jak można się domyślić, polega na tym, że każdy odwiedzający witrynę musi wykonać to zadanie, aby uzyskać dostęp do ramki.
Możesz zauważyć, że chrome będzie blokował twój adres URL dla każdej sesji nawigacji, a chrome może zapamiętać na zawsze, że ufasz tej domenie.
Jeśli dostęp do twojej ramki jest możliwy poprzez HTTP zamiast HTTPS, sugeruję, abyś z niej skorzystał, aby ten problem został rozwiązany.
źródło
https://domain.com
i zaakceptować certyfikat SSL.Czasami Google Chrome zgłasza ten błąd, nawet jeśli nie powinien. Doświadczyłem tego, gdy Chrome miał nową wersję i musiał zostać zrestartowany. Po ponownym uruchomieniu ta sama strona działała bez żadnych błędów. Błąd w konsoli to:
źródło
chrome://net-internals
?Nadal występowałem problem opisany powyżej na urządzeniu testowym Asus T100 Windows 10 zarówno dla (aktualnej) przeglądarki Edge, jak i Chrome.
Rozwiązanie dotyczyło ustawień daty / godziny urządzenia ; w jakiś sposób data nie została ustawiona poprawnie (data w przeszłości). Przywrócenie tego przez ustawienie prawidłowej daty (i ponowne uruchomienie przeglądarek) rozwiązało problem. Mam nadzieję, że oszczędzę komuś bólu głowy podczas debugowania tego problemu.
źródło
otwórz konsolę i wciśnij URL. przeniesie Cię na stronę API, a następnie na stronie zaakceptuj certyfikat SSL, wróć na stronę aplikacji i załaduj ponownie. pamiętaj, że wcześniej powinny być wydawane certyfikaty SSL dla twojego środowiska deweloperskiego.
źródło
Jeśli tworzysz i pracujesz na komputerze z systemem Windows, po prostu dodaj
localhost
jako stronę zaufaną .I tak, zgodnie z komentarzem DarrylGriffiths, chociaż może się wydawać, że dodajesz ustawienie Internet Explorera ...
źródło
Oferując inne potencjalne rozwiązanie tego błędu.
Jeśli masz aplikację frontendową, która wykonuje wywołania API do backendu, upewnij się, że odwołujesz się do nazwy domeny, dla której certyfikat został wydany.
na przykład
i nie
W moim przypadku nawiązywałem połączenia API z bezpiecznym serwerem z certyfikatem, ale korzystałem z adresu IP zamiast nazwy domeny. To rzuciło
Failed to load resource: net::ERR_INSECURE_RESPONSE
.źródło
Wypróbuj ten kod, aby uważać i zgłaszać możliwe
net::ERR_INSECURE_RESPONSE
Miałem również ten problem, używając samopodpisanego certyfikatu, którego postanowiłem nie zapisywać w Ustawieniach Chrome. Po uzyskaniu dostępu do domeny https i zaakceptowaniu certyfikatu wywołanie ajax działa poprawnie. Ale gdy upłynie limit czasu akceptacji lub zanim zostanie ona zaakceptowana,
jQuery.ajax()
wywołanie nie powiedzie się po cichu:timeout
parametr nie wydaje się pomocny, aerror()
funkcja nigdy nie zostaje wywołana.Jako taki, mój kod nigdy nie odbiera
success()
anierror()
połączenia, i dlatego się zawiesza. Uważam, że jest to błąd w obsłudze tego błędu przez jquery. Moim rozwiązaniem jest wymuszenieerror()
połączenia po upływie określonego czasu.Ten kod zakłada wywołanie jquery ajax formularza
jQuery.ajax({url: required, success: optional, error: optional, others_ajax_params: optional})
.Uwaga: Prawdopodobnie będziesz chciał zmienić funkcję w
setTimeout
celu najlepszej integracji z interfejsem użytkownika: zamiast wywoływaniaalert()
.źródło
Ten problem wynika z twojego https, który oznacza certyfikację SSL. Spróbuj na Localhost.
źródło