Intermittent ERR_SSL_PROTOCOL_ERROR error for cross domain request

Persistent SSL Protocol Errors may be caused by problems like

  • the destination server expects a different protocol (e.g. SSLv1, SSLv2, SSLv3)

  • a violation of a security policy (e.g. some servers don't honor certificate requests made from client)

  • Firewall impedance filtering / ciphering


Intermittent SSL Protocol Errors are very hard to diagnose. They can be the result of expired session, expired key, connectivity hiccup, lost packets, etc

Even worse, they can be caused by Server Side issues like date-time sync, server connection pool full, etc.

Best practice is to re-send the request: because such issues are often a temporary glitch, and usually succeed at 2nd attempt.


Flickr switched their API to SSL-only on June 27th, 2014 (a little under a year). Their Forum has blown up with SSL related problems since then.

In the past few months many users have reported (check thread) sporadic SSL Protocol Errors.

These Protocol Errors appear across all device types (laptops, desktops, mobile, Linux, Windows, etc) and usually an immediate re-try is successful. The commonality and highly infrequent nature of these problems indicates there is some issue on the host side completely unrelated to anything on the client.

Since a re-fresh or 2nd attempt is usually successful, I suggest trapping the error, and making 1-3 more attempts:

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");
                });
        }
    });

If you continue to get a "Protocol Error", then inform the user that Flickr is temporarily unavailable and to try again later.


This might be the answer, but i'm guessing that this is probably not a client issue, so i would suggest you to update your api's server with that line added in the header :

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

This should fix the troubles some of your users are facing.


if you run into this error and you are testing localhost endpoint just make sure you use http instead of https as your url.

eg: http://localhost:8080/ not https://localhost:8080/