2013-02-11 11 views
17

Pracuję nad witryną, która wymaga logowania i zawiera osadzone filmy z Youtube. Z powodu logowania muszę uruchomić SSL, co w dużej mierze jest. Mimo to wpadam na nieoczekiwany problem z osadzaniem na Youtubie. Łatwo jest wskazać na https://www.youtube.com, ale Firefox wciąż narzeka, że ​​na zaszyfrowanej stronie znajdują się nieszyfrowane treści. Według Firebug, jedyne niezaszyfrowane obciążenie pochodziło z rzeczy: http://[stuff].youtube.com/videoplayback?[more].Wbudowywanie HTT HTT powoduje ostrzeżenie w Firefoksie

Teraz zrozumiałe jest, że Youtube nie chce narzutów związanych z szyfrowaniem ich strumieni wideo i nie sądzę, że stwarza to rzeczywistą lukę w zabezpieczeniach. Po prostu muszę sprawić, że przeglądarka będzie zadowolona. (Wiem, że to ostrzeżenie może zostać wyłączone, oczywiście, ale nie mogę tego zrobić na komputerach moich użytkowników.) Musi być na to sposób, ponieważ sam https://www.youtube.com nie powoduje pojawienia się tego błędu, nawet jeśli używa również http: dla strumieni wideo.

Nie widziałem podobnych błędów w innych przeglądarkach, ale jeszcze nie wyglądałem bardzo ciężko.

Jeśli to ma znaczenie, moja maszyna wywołująca nie ma ważnego certyfikatu SSL; Właśnie dodałem wyjątek.

+2

Nieco podobne pytanie: http://stackoverflow.com/questions/ 14439650/youtube-iframe-api-generates-mixed-content-warning-with-https-html5 – Viktor

+0

Z pomocy YouTube: "Ważne jest, aby pamiętać, że podczas osadzania komponentów wszystkie są obsługiwane za pomocą HTTPS i nie generują błędu mieszanej zawartości, nie obsługujemy jeszcze strumieni wideo przez HTTPS. " http://support.google.com/youtube/bin/answer.py?hl=pl&answer=171780&expand=UseHTTPS#HTTPS – Viktor

+0

Tak, widziałem to i myślę, że nie ma nic do zrobienia, oprócz tego, że sam YouTube nie ma tego problemu. Możliwe, że jest to możliwe do naprawienia tylko wtedy, gdy niezaszyfrowana zawartość znajduje się w tej samej witrynie co strona hosta, tj. Gdy nie osadza treści. – user1618143

Odpowiedz

-2

Dużo prostszym sposobem na to jest pobranie samego pliku wideo, a następnie utworzenie linku do niego lokalnie na serwerze, np. Zapisanie go w tym samym katalogu, co strona, a następnie odsyłacz do niego.

+1

Mimo że zadziałałoby, gdybyśmy tylko rozmawiali o jednym lub dwóch konkretnych filmach, jest to całkowicie niepraktyczne dla mojej konkretnej aplikacji. Jestem prawie pewna, że ​​wprowadza również kwestie praw autorskich, które polegają na prostym zakładaniu spódnic. – user1618143

1

Jeśli używasz , użyj <embed> lub sprawdź inne opcje kodu osadzania dostępne w interfejsie API YouTube.

-1

Nie mam rozwiązania, ale zamiast tego proponuję: czy na pewno nie posiadanie ważnego certyfikatu SSL nie mogło mieć z tym nic wspólnego z czymś, co można z tym zrobić? Nie myślałbyś tak, ale nigdy nie wiesz. Jeśli ją zdobędziesz i nadal nie działa, to nie jest to coś, czego i tak byś nie musiał robić. Przeszedłem przez proces uzyskiwania/instalowania i konfigurowania kluczy (kluczy) SSL i certyfikatów dla mojego serwera domowego, a każda mała rzecz wydaje się mieć wpływ na to, jak działa/reaguje SSL.

Czy próbowałeś uzyskać dostęp do witryny poza lokalną siecią, w której się znajdujesz? Wygląda na to, że jesteś w tej samej sieci, co serwer, na którym znajduje się strona (ta, która ma zainstalowany SSL), która może sama tworzyć problemy z powodu translacji NAT (myślę, ale popraw mnie, jeśli się mylę - "wszyscy tutaj, aby się uczyć). Czasami z HTTPS, możesz mieć problem z łączeniem się z zasobami w sieci lokalnej, że ludzie w Internecie nie mieliby żadnego problemu z łączeniem się. Tylko moje dwa centy .. i przepraszam za wszelkie niepoprawne informacje, jeśli je dostarczyłem. Weź to wszystko z przymrużeniem oka, ale miejmy nadzieję, że znajdziesz odpowiedź na swój problem. Takie rzeczy mogą być bólem w zadu.

Możliwe, że nic nie można z tym zrobić, także dlatego, że Youtube wydaje się nie dostarczać treści za pośrednictwem protokołu HTTPS ... który jest poza kontrolą. Wiem, że nie kwestionujesz błędu, który dostałeś, i chcesz tylko obejść.

BTW, myślę, że ich strona główna ma włączone HTTPS, a nie ich zawartość wideo ... dlatego umieszczenie strony głównej nie spowodowałoby błędu.

EDYCJA: Widzę, że ktoś inny napisał, że używa osadzania zamiast elementów iframe, co również polecam. Przeglądarka traktuje iframe jak inną stronę, ale błąd, jaki otrzymujesz, wskazuje, że niezabezpieczone treści są w rzeczywistości połączone z bezpieczną treścią, więc wszystko powinno być w porządku z tym ... ale nigdy nie wiadomo.

-1

Czy to możliwe dzięki projektowaniu strony internetowej, że możesz spróbować pobrać filmy z YouTube'a przez połączenie http zamiast https? Nie znam układu witryny, ale jeśli chcesz tylko przestać narzekać, to powinno to zrobić.

To powiedziawszy, youtube ma ważne certyfikaty https, ale wynika to z integracji google. Ponieważ nie jesteś google, nie czytasz jako aktualny posiadacz certyfikatu podczas uzyskiwania dostępu do treści youtube (to jest dokładnie to, czego zabezpieczenia mają zabezpieczać SSL).

Więc, w zasadzie, jeśli możesz, po prostu osadzaj przez http zamiast https. TWOJA strona wciąż może być https, po prostu nie połączenie z youtube.

0

Mam zabezpieczone SSL stronie i to działa na mnie w Firefoksie

<iframe id="player" src="https://www.youtube.com/embed/XfI....Ctpo?enablejsapi=1&origin=https://yourdomain.com&showinfo=0&iv_load_policy=3&modestbranding=1&theme=light&color=white&rel=0" frameborder="0"></iframe>

0

Spróbuj stronę z Firefox "inspektor/network ananlysis" (Shift + Ctrl + I) analizować, jakie elementy są wymagane. Domyślam się, że to jest jakiś javascript INSIDE, którego nie masz pod kontrolą. W każdym przypadku powinieneś być w stanie wskazać konkretny wyzwalacz za pomocą tego narzędzia.

Sprawdź, czy przy zmianie przeglądarki na HTML5 zamiast Flasha robi się różnicę, a nie odwrotnie. YouTube niedawno zmienił domyślny protokół na HTML5.

-1

Proszę usunąć http następnie u sprawdzić ..

np

<iframe id="player" src="www.youtube.com/embed/XfI....Ctpo?enablejsapi=1&origin=https://yourdomain.com&showinfo=0&iv_load_policy=3&modestbranding=1&theme=light&color=white&rel=0" frameborder="0"></iframe> 
-1

prostu usunąć (http lub https) z dwukropkiem, to będzie działać idealnie

przykładowy

<iframe id="player" src="//www.youtube.com/embed/XfI....Ctpo?enablejsapi=1&origin=https://yourdomain.com&showinfo=0&iv_load_policy=3&modestbranding=1&theme=light&color=white&rel=0" frameborder="0"></iframe>

+0

AlienWebguy podał dokładnie tę odpowiedź lata temu. To mi wtedy nie pomogło i ... pomyśleć o tym, YouTube nie siedział spokojnie; teraz już działa. Nie próbowałem od wieków. – user1618143

+0

Spowoduje to dopasowanie schematu żądania elementu iframe do schematu używanego do ładowania strony. Jeśli element iframe YouTube w sposób jawny ładuje coś przez http, nadal masz problem z mieszaną zawartością. – circusdei

Powiązane problemy