Facebook API - 在SSL握手之前超时

时间:2014-03-21 03:55:31

标签: facebook curl ssl facebook-php-sdk

我正在使用Facebook PHP SDK解决这个问题。我的应用程序托管在AWS EC2(弗吉尼亚州)上。

它随机发生但最近有所增加。我已经知道有必要指定一些cURL选项,所以我已经这样做了:

self::$CURL_OPTS[CURLOPT_IPRESOLVE] = CURL_IPRESOLVE_V4;
self::$CURL_OPTS[CURLOPT_SSLVERSION] = 3;
self::$CURL_OPTS[CURLOPT_CONNECTTIMEOUT] = 20;
  • 由于EC2实例不支持IPv6,因此我们需要强制使用IPv4
  • 我已阅读以强制使用SSL版本3
  • 我已尝试将超时时间从10秒增加到20秒

我仍然收到以下错误:

  

FacebookAPIException:在SSL握手之前超时

我认为这不是Facebook例外,而是cURL例外。 我无法真正启用详细模式,因为我有很多请求,而且只有一小部分请求失败。

任何人都有同样的问题吗?

我的系统:

Centos Linux 2.6.32-431.5.1.el6.x86_64 #1 SMP Wed Feb 12 00:41:43 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

libcurl.x86_64 7.19.7-37.el6_4

php curl
cURL support => enabled
cURL Information => 7.19.7
...
Protocols => tftp, ftp, telnet, dict, ldap, ldaps, http, file, https, ftps, scp, sftp
Host => x86_64-redhat-linux-gnu
SSL Version => NSS/3.14.0.0
ZLib Version => 1.2.3
libSSH Version => libssh2/1.4.2

更新

我在这里打开了一个Facebook错误:https://developers.facebook.com/x/bugs/1461144600769806/


更新2

我的facebook错误已经关闭,没有任何有用的答案。 我已设法记录此错误的cURL的详细调试:

Verbose log: 
* About to connect() to graph.facebook.com port 443 (#0)
*   Trying 173.252.100.27... * connected
* Connected to graph.facebook.com (173.252.100.27) port 443 (#0)
* Initializing NSS with certpath: sql:/etc/pki/nssdb
*   CAfile: /etc/pki/tls/certs/ca-bundle.crt
  CApath: none
* timed out before SSL handshake
* NSS error -5978
* Closing connection #0

成功后,cURL正在执行以下操作:

Verbose log: 
* About to connect() to graph.facebook.com port 443 (#0)
*   Trying 173.252.112.23... * connected
* Connected to graph.facebook.com (173.252.112.23) port 443 (#0)
* Initializing NSS with certpath: sql:/etc/pki/nssdb
*   CAfile: /etc/pki/tls/certs/ca-bundle.crt
  CApath: none
* SSL connection using SSL_RSA_WITH_RC4_128_SHA
* Server certificate:
*   subject: CN=*.facebook.com,O="Facebook, Inc.",L=Palo Alto,ST=California,C=US
*   start date: Oct 28 00:00:00 2013 GMT
*   expire date: Aug 05 23:59:59 2015 GMT
*   common name: *.facebook.com
*   issuer: CN=VeriSign Class 3 Secure Server CA - G3,OU=Terms of use at https://www.verisign.com/rpa (c)10,OU=VeriSign Trust Network,O="VeriSign, Inc.",C=US
> POST /xxxxxxxxxxx/feed HTTP/1.1
User-Agent: facebook-php-3.2
Host: graph.facebook.com
Accept: */*
Content-Length: 244
Content-Type: application/x-www-form-urlencoded

错误随机发生。它来自我的服务器的Facebook吗?

0 个答案:

没有答案