Что такое: Фатальная ошибка: Uncaught CurlException: 52: Ошибка recv GnuTLS (-12): Получено фатальное предупреждение TLS. - в Facebook PHP SDK
Я занимаюсь разработкой приложения для Facebook и иногда (3 раза в неделю) получаю эту ошибку (если честно, на этот раз это ошибка пользователя):
Fatal error: Uncaught CurlException: 52: GnuTLS recv error (-12): A TLS fatal alert has been received. thrown in /myURL/facebook-php-sdk-master/src/base_facebook.php on line 1031
myURL - это URL-адрес исходного адреса моего приложения (а не apps.facebook.com).
Я не могу найти значение этой ошибки, единственное, о чем я могу догадаться, это что-то о шифровании, следовательно, TLS.
Одна возможная вещь (я предполагаю снова), что приложение работает на поддомене HTTPS, но наш основной домен - нормальный HTTP. Консоль показывает ошибку каждый раз, когда приложение запускается:
Refused to connect to 'http://www.someURL.hu/' because it violates the following Content Security Policy directive: "connect-src https://*.facebook.com http://*.facebook.com https://*.fbcdn.net http://*.fbcdn.net *.facebook.net *.spotilocal.com:* https://*.akamaihd.net ws://*.facebook.com:* http://*.akamaihd.net https://fb.scanandcleanlocal.com:* *.atlassolutions.com https://*.internet.org http://*.internet.org http://attachment.fbsbx.com https://attachment.fbsbx.com".
Но так было все время, и Chrome показывает предупреждение на значке HTTPS, что-то говорит о 128-битном шифровании и TLS (<- мой главный совет в угадывании).
Correspongin часть base_facebook.php является следующим:
// With dual stacked DNS responses, it's possible for a server to
// have IPv6 enabled but not have IPv6 connectivity. If this is
// the case, curl will try IPv4 first and if that fails, then it will
// fall back to IPv6 and the error EHOSTUNREACH is returned by the
// operating system.
if ($result === false && empty($opts[CURLOPT_IPRESOLVE])) {
...
//(AND THE FOLLOWING LINE HERE IS THE ONE THE ERROR IS MENTIONING:
if ($result === false) {
$e = new FacebookApiException(array(
'error_code' => curl_errno($ch),
'error' => array(
'message' => curl_error($ch),
'type' => 'CurlException',
),
));
curl_close($ch);
throw $e;
}
curl_close($ch);
return $result;
}
Что может вызвать эту ошибку? Что это значит? Я никогда не видел ничего подобного. И, кажется, это происходит совершенно случайно.
Заранее спасибо.