Możesz naprawić problem HTTPS, używając lokalnego protokołu HTTPS z samopodpisanym certyfikatem SSL. Heroku has a great how-to article about generating one.
Po skonfigurowaniu protokołu SSL na wszystkich serwerach programistycznych nadal będzie występował błąd podczas ładowania zasobu w przeglądarce Safari, ponieważ używany jest niezaufany certyfikat (certyfikaty SSL z podpisem własnym nie są domyślnie zaufane przez przeglądarki, ponieważ nie można ich zweryfikować z zaufanym organem). Aby to naprawić, możesz załadować problematyczny adres URL w nowej karcie w Safari, a przeglądarka poprosi o zezwolenie na dostęp. Jeśli klikniesz "Pokaż certyfikat" w monicie, w widoku szczegółów certyfikatu pojawi się pole wyboru "Zawsze zezwalaj na zawartość z hosta lokalnego". Zaznaczenie tego przed zezwoleniem na dostęp zapisze ustawienia w Safari na przyszłość. Po zezwoleniu na dostęp wystarczy przeładować stronę, na której pierwotnie występuje problem, i powinieneś być gotowy.
Jest to przydatny przypadek użycia jako programista, ale upewnij się, że w pełni rozumiesz wpływ na bezpieczeństwo i ryzyko, które dodajesz do systemu, wprowadzając tę zmianę!
Przy okazji, w celu obejścia tego problemu obecnie obsługujemy wszystkie zasoby za pośrednictwem https. ale czy Safari nie powinno pozwalać na włączanie mieszanych treści? Nie? – Staelen
To jest bardzo frustrujące. Istnieją uzasadnione powody, aby mieć stronę https, która ładuje coś (np. RPC lub usługę lokalną). Apple nie powinno wyłączać zachowania bez możliwości odzyskania go. –
W rzeczywistości jest to uzasadnione zabezpieczenie na części Apple. Po zezwoleniu na mieszane treści ktoś może wstrzyknąć złośliwy kod lub podsłuchać sesję (jeśli była dynamiczna).Jeśli obawiasz się wpływu wydajności używania SSL/TLS, po prostu dodaj obsługę HTTP/2 do swojego serwera. Testy porównawcze pokazują ogromną poprawę wydajności, która sprawia, że jest tak szybki jak HTTP/1.1 podczas pobierania wielu zasobów lub ajax z tej samej domeny. –