Dziś rano, po uaktualnieniu przeglądarki Firefox do najnowszej wersji (z 22 do 23), niektóre kluczowe aspekty mojego back office (strony internetowej) przestały działać.
Przeglądając dziennik Firebug, zgłaszano następujące błędy:
Blocked loading mixed active content "http://code.jquery.com/ui/1.8.10/themes/smoothness/jquery-ui.css"
Blocked loading mixed active content "http://ajax.aspnetcdn.com/ajax/jquery.ui/1.8.10/jquery-ui.min.js"`
wśród innych błędów spowodowanych tym, że drugi z dwóch powyższych nie został załadowany.
Co oznacza powyższe i jak to rozwiązać?
Odpowiedzi:
Znalazłem ten post na blogu, który wyjaśnił kilka rzeczy. Aby zacytować najbardziej odpowiedni bit:
W moim przypadku rozwiązaniem było po prostu upewnienie się, że
jquery
dołączenia były następujące (zwróć uwagę na usunięcie protokołu):Pamiętaj, że tymczasową „poprawką” jest kliknięcie ikony „tarczy” w lewym górnym rogu paska adresu i wybranie „Wyłącz ochronę na tej stronie”, chociaż nie jest to zalecane z oczywistych powodów.
AKTUALIZACJA: Ten link ze stron wsparcia przeglądarki Firefox (Mozilla) jest również przydatny w wyjaśnieniu, co stanowi mieszaną zawartość, i jak podano w powyższym akapicie, faktycznie zawiera szczegółowe informacje na temat wyświetlania strony niezależnie od:
źródło
src="//code.jquery.com...
. Przeglądarka użyje protokołu, z którym strona została załadowana.Oznacza to, że dzwonisz pod http z https. Możesz użyć
src="//url.to/script.js"
w tagu skryptu, który automatycznie wykryje.Alternatywnie możesz użyć https w swoim,
src
nawet jeśli będziesz publikować go na stronie http. Pozwoli to uniknąć potencjalnego problemu wspomnianego w komentarzach.źródło
W przypadku braku funkcji białej listy musisz dokonać wyboru „wszystko” lub „nic”. Możesz całkowicie wyłączyć blokowanie mieszanych treści.
Wybór Nic
Konieczne będzie trwałe wyłączenie blokowania mieszanych treści dla bieżącego aktywnego profilu.
W „Awesome Bar” wpisz „about: config”. Jeśli to pierwszy raz, otrzymasz „Może to unieważnić gwarancję!” wiadomość.
Tak, będziesz ostrożny. Tak, obiecujesz!
Znajdź security.mixed_content.block_active_content . Ustaw jego wartość na false .
Cały wybór
Odpowiedź iDevelApp jest niesamowita.
źródło
Umieść poniższy
<meta>
znacznik w<head>
sekcji dokumentu, aby wymusić na przeglądarce zamianę niezabezpieczonych połączeń (http) na połączenia zabezpieczone (https). Może to rozwiązać problem mieszanej zawartości, jeśli połączenie może korzystać z protokołu https.Jeśli chcesz zablokować, dodaj poniższy tag do
<head>
tagu:źródło
upgrade-insecure-requests
wydaje się aktualizować połączenia http tp https.Jeśli korzystasz z usługi wewnętrznej za pośrednictwem AJAX, upewnij się, że adres URL wskazuje https, to dla mnie usunęło błąd.
Początkowy adres URL AJAX: „ http://XXXXXX.com/Core.svc/ ” + ApiName
Poprawiony adres URL AJAX: „ https://XXXXXX.com/Core.svc/ ” + ApiName,
źródło
Podano błąd ze względu na bezpieczeństwo. w tym celu użyj adresu „https”, a nie „http” w adresie URL witryny.
Na przykład :
źródło
Na odpowiedniej stronie, która tworzy niedostępne połączenie HTTP https to http, możemy dodać następujący wpis w odpowiednim i pozbyć się błędu mieszanej zawartości.
źródło
Miałem ten sam problem, ponieważ kupiłem szablon CSS, który przechwycił javascript przez zewnętrzny plik javascript
http://whatever.js.com/javascript.js
. Poszedłem do tej strony w przeglądarce, a następnie zmieniłem ją nahttps://whatever...
SSL i działało, więc w moim tagu javascript HTML po prostu zmieniłem adres URL do użyciahttps
zamiasthttp
i działało.źródło
Aby wymusić przekierowanie na protokole https, możesz również dodać tę dyrektywę do pliku .htaccess w folderze głównym
źródło
@Blender Comment to najlepsze podejście. Kodeks nigdy ciężko gdziekolwiek protokół w kodzie, jak to będzie trudne do zmiany, jeśli przejść od
http
dohttps
. Ponieważ musisz ręcznie edytować i aktualizować wszystkie pliki.Jest to zawsze lepsze, ponieważ automatycznie wykrywa protokół.
źródło
Odkryłem, że jeśli masz problemy z włączeniem lub pomieszaniem strony z czymś takim jak http : //www.example.com, możesz to naprawić, wstawiając // www .example.com zamiast tego
źródło
Mam ten sam problem, gdy moja witryna przechodzi z http do https. Dodaliśmy regułę dla wszystkich żądań przekierowania http na https.
Musisz dodać regułę przekierowania dla żądania między lokacjami, ale musisz usunąć regułę przekierowania dla zewnętrznego js / css.
źródło
Właśnie rozwiązałem ten problem, dodając następujący kod w nagłówku:
źródło
Jeśli serwer aplikacji jest weblogic, upewnij się, że istnieje wpis WLProxySSL ON (i upewnij się, że nie powinien być komentowany) w pliku weblogic.conf w katalogu conf serwera WWW. następnie uruchom ponownie serwer WWW, będzie działać.
źródło