2015-12-30 9 views
9

Próbowałem przenieść moją witrynę z Divshot do Firebase, ponieważ Firebase przejęło divshot i zamknęło go.Czy witryny w hostingu Firebase mogą zawierać zasoby inne niż https?

Kopalnia jest prostą witryną tylko do odczytu, która nie wymaga protokołu HTTPS. Zawiera również linki do stron zewnętrznych, które nie obsługują https. Strona działała idealnie na divshotie, ale wygląda na to, że baza ogniowa wymusza na wszystkich stronach korzystanie z https. Niestety, powoduje to niepowodzenie ładowania zewnętrznych witryn, do których odwołują się moje witryny. Istota błędu:

Mixed Treść: Na stronie w „https://mysite.firebaseapp.com/” został załadowany przez HTTPS, ale o niepewnego zasobu „http://www.externalsite.com/”. To żądanie zostało zablokowane; treść musi być obsługiwana przez HTTPS.

Próbowałem usunąć http: więc zewnętrzna strona jest po prostu //www.externalsite.com/, ale powoduje to błędy certyfikatu. Nie mogę zmienić tego na https, ponieważ ta witryna zewnętrzna go nie obsługuje.

Czy istnieje jakiś sposób obejścia tego problemu?

+0

Mam nadzieję! Korzystałem z netlifii w tym celu, jeśli nie jest to możliwe w bazie ogniowej. – camomileCase

+0

Musisz mieć możliwość korzystania z http, więc mogę załadować zasoby http. – shramee

Odpowiedz

3

Krótka odpowiedź brzmi: nie. Jest to całkowicie zgodne z projektem. Jest to luka w zabezpieczeniach pozwalająca na http w witrynie https. Dlatego jest zablokowany.

Jednak

  • Rozwiązanie 1: Sprawdź wersję https zasobu To może nie być możliwe w Twoim przypadku.
  • Rozwiązanie 2: przekonwertuj zasoby na https Możliwe, że sam plik lub zasób będzie obsługiwany przez https. Może to wymagać skopiowania pliku lub czegoś, co uważam za ostrożne, nie piracjuj rzeczy, których nie powinieneś.
  • Rozwiązanie 3: Przekierowanie Jest to prawdopodobnie najbardziej skomplikowane rozwiązanie, ale jeśli próbujesz uzyskać dostęp do niektórych usług, możesz utworzyć własną usługę przekierowania. Znajdujesz się w firebase, co oznacza, że ​​prawdopodobnie zhakujesz razem jakąś funkcję chmurową, by utworzyć żądanie http (How to make an HTTP request in Cloud Functions for Firebase?)
  • Rozwiązanie 4: Nie używaj Firebase Nie chcę robić żadnego z powyższych i nie możesz żyć bez połączenia http? Możesz po prostu zrzucić bazę firewall i przejść do innej usługi hostingowej.

Mam nadzieję, że ta informacja okaże się pomocna, może nie być odpowiedzią, której szukasz, ale może wskazać Ci właściwy kierunek.

+0

Dziękuję za odpowiedź na Niles :) Tylko po to, aby potwierdzić, czy w firebase można przełączyć na 'http'? – shramee

+0

@ shramee Nie można używać firebase do hostowania witryny z http. Firebase jest własnością Google, a Google przesuwa https, więc jest mało prawdopodobne, że to się zmieni. Przedstawione przeze mnie rozwiązania są sposobami na obejście problemów ze źródłami http. –

+0

OK, dziękuję Niles :) – shramee

Powiązane problemy