2015-04-27 24 views
20

Użytkownicy mojej stronie widzisz przerywany ERR_SSL_PROTOCOL_ERROR podczas dokonywania wzajemnych żądań domen api.flickr.combłąd Przerywany ERR_SSL_PROTOCOL_ERROR na życzenie domenach

przerywany Mam na myśli, że widziałem to się stało 4 razy z ~ 1200 wnioski do api wczoraj.

Failed to load resource: net::ERR_SSL_PROTOCOL_ERROR  https://api.flickr.com/services/rest/?method=flickr.photos.getInfo&api_key=..... 

Moja strona jest aplikacją AngularJS działającą w Google App Engine i jest dostępna wyłącznie w HTTPS.

sslchecker shows that my site's certificate & certificate chain jest zainstalowany prawidłowo. Cóż, myślę, że wygląda dobrze!

sslchecker for api.flickr.com pokazuje, że brak jest łańcucha certyfikatów ROOT 1. Czy to jest problem? Czy jest dla mnie jakiś sposób?

Jakieś inne pomysły? Czy problem może dotyczyć naszych certyfikatów przez różne organy?

Edit - Niektóre inne ewentualnie stosownych informacji zaczerpniętych z Google Analytics

  • Widziałem się zdarzyć, dla różnych systemów operacyjnych - Android, iOS, Windows
  • Różne przeglądarki - Android, Chrome, Safari
  • Różne domeny sieciowe
+0

Jeśli jest to istotne, czy wywołujesz interfejs API za pośrednictwem usługi URLFetch App Engine, czy bezpośrednio z klienta AngularJS? – tx802

+0

Wywołanie bezpośrednio za pomocą '$ http.get (flickrUrl) .success (successCallback) .error (errorCallback);' –

+0

Czy błąd stale pojawia się dla tego samego użytkownika? –

Odpowiedz

13

Trwałe SSL Protokół Błędy mogą być spowodowane przez problemy jak

  • docelowy serwer oczekuje innego protokołu (np SSLv1, SSLv2, SSLv3)

  • naruszenie zabezpieczenia zasady (np. niektóre serwery nie honorują żądań certyfikatów wysłanych od klienta)

  • Impedancja zapory Filtrowanie/szyfrowanie


Przejściowe protokół SSL Błędy są bardzo trudne do zdiagnozowania. Mogą być wynikiem wygasłej sesji, wygasłego klucza, czkawki łączności, zgubionych pakietów itp.

Co gorsza, mogą być one spowodowane przez problemy po stronie serwera, takie jak synchronizacja daty i czasu, pełna pula połączeń serwera itp.

Najlepszą praktyką jest ponowne wysłanie żądania:, ponieważ takie problemy są często tymczasową usterką i zwykle kończą się przy drugiej próbie.


Flickr włączeniu ich API SSL tylko na June 27th, 2014 (trochę poniżej jednego roku). Od tego czasu ich forum rozwiało problemy związane z SSL.

W ostatnich miesiącach wielu użytkowników zgłosił (check thread) sporadycznych protokół SSL Błędy.

Te Protocol Błędy pojawiają się we wszystkich typach urządzeń (laptopów, komputerów stacjonarnych, mobilnych, Linux, Windows, etc) i zazwyczaj natychmiastowe ponowne próba się powiedzie. Powszechność i bardzo rzadki charakter tych problemów wskazuje, że istnieje pewien problem po stronie hosta całkowicie niezwiązany z niczym na kliencie.

Ponieważ ponowne świeże lub 2-ga próba jest zwykle udany, proponuję wychwytywanie błędów, a co 1-3 kolejne próby:

var promise = flickrService.get(...); 

promise.success(function (data, status, headers, config) { 
     // Big Party 
    }) 
    .error(function(data, status, headers, config) { 
     if (status == 107) { 
      promise = flickrService.get(...); 

      promise.success(function (data, status, headers, config) { 
        // Big Party 
       }) 
       .error(function (data, status, headers, config) { 
        AlertService.RaiseErrorAlert("Flickr temporarily unavailable.Please try again later"); 
       }); 
     } 
    }); 

Jeśli nadal uzyskać „Błąd protokołu” , następnie poinformuj użytkownika, że ​​Flickr jest chwilowo niedostępny i spróbuj ponownie później.

1

To może być odpowiedź, ale domyślam się, że to prawdopodobnie nie jest problem klienta, więc proponuję aktualizację swojego serwera API z tej linii dodanej w nagłówku:

Access-Control-Allow-Origin: https://api.flickr.com/* 

To powinno rozwiązać kłopoty niektórzy użytkownicy są stojące.

+1

Jeśli to flickr, to jest na łasce flickr. – Strawberry

Powiązane problemy