使用libcurl(PHP)重用https连接

使用libcurl(PHP)重用https连接,php,ajax,apache,curl,https,Php,Ajax,Apache,Curl,Https,我有一台服务器a和多台服务器,它们位于与服务器a的本地网络后面(服务器a在外部有连接) 服务器A有一个网页,它对这样的脚本执行多个ajax请求 //Get myserverB_IP from database ... $url = "https://myserverB_IP/someurl.php" $ch = curl_init(); curl_setopt($ch,CURL_VERSION_SSL,TRUE); curl_setopt($ch, CURLOPT_S

我有一台服务器a和多台服务器,它们位于与服务器a的本地网络后面(服务器a在外部有连接)

服务器A有一个网页,它对这样的脚本执行多个ajax请求

  //Get myserverB_IP from database
  ...
  $url = "https://myserverB_IP/someurl.php"  
  $ch = curl_init();
  curl_setopt($ch,CURL_VERSION_SSL,TRUE);
  curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
  curl_setopt($ch, CURLOPT_URL, $url);
  curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
  curl_setopt($ch, CURLOPT_FRESH_CONNECT, false);
  curl_setopt ($ch, CURLOPT_TIMEOUT,30);
  curl_setopt($ch, CURLOPT_COOKIEJAR, '/tmp/sess.txt');
  curl_setopt($ch, CURLOPT_COOKIEFILE, '/tmp/sess.txt');
  curl_exec($ch);
  ... 
使用http时,一切正常,但是添加https时会有很大的延迟,因为每个ajax调用都会向serverB请求一个新的密钥交换


有没有办法重用连接以避免每次请求中的密钥交换?

我认为禁用证书验证可能会导致潜在的MITM攻击(SSL/TLS用于防止这些攻击)。我知道,但我还没有设置ca(当我实现它的时候,我不认为会有任何问题,这个脚本只是为了测试目的,试图加速这个过程,因为我现在遇到的主要问题是每个请求都会进行握手并生成新的密钥,这会给每个ajax请求增加2-3秒的延迟。看看这个教程。我希望它会有所帮助-对我来说不起作用我的安装程序已经看到了这个链接:(,我不能重用处理程序,因为有不同的ajax调用,而且我认为脚本的不同实例不能共享处理程序(至少我尝试使用$会话时没有成功,我不知道是否有其他方法共享处理程序)。只需使用单个$ch发出多个请求。应按照您的要求工作-一个https连接设置和多个请求。