使用cURL,HTTPS POST进行服务器到服务器通信

时间:2011-08-29 13:02:39

标签: php curl https security

我正在实现服务器到服务器的通信,应该(可能)看起来像这样:

客户端网络浏览器)< - > (网络应用服务器服务客户端)< - > (服务应用中央服务器

某些客户端请求在本地处理,而某些客户端请求则作为远程服务调用(而不是RPC)执行。对中央服务器的请求格式为HTTPS POST,然后使用cURL发送;服务器回复适当的JSON消息。

问题是,我正在使用HTTPS,每次执行服务查询时,都需要一些额外的时间进行证书验证。可以重用cURL句柄并发送'keep-alive'连接头,但是..在当前的MVC实现中,每个新的客户端请求都会产生新的web应用实例(和相应的服务客户端) - 意思是,句柄是初始化和https连接重新建立。

因此,出现以下问题:

  1. 有没有办法加速此类HTTPS请求?例如,在第一次成功连接后以某种方式绕过验证?
  2. 我可以放弃HTTPS(特别是它耗时的证书检查程序)并自己加密/解密POST和JSON(例如,使用mcrypt)和一些授权方法(Diffie-Hellman)?
  3. 我做错了什么并且应该立即停止?
  4. 谢谢!

2 个答案:

答案 0 :(得分:1)

您是否测量过HTTPS连接的开销?这真的很重要吗?

如果您想避免为每个请求进行握手,可以尝试在服务器和中央服务器之间建立持久的安全连接。

你可以通过SSH隧道,VPN等来实现这一目标。

编辑:在中央服务器上维护保持连接的本地反向HTTP代理也是一种选择。

答案 1 :(得分:0)

  1. 在队列中批量处理请求并在可能的情况下一次发送x号
  2. 您可以发送一个授权密钥,其中只有服务器和中央服务器可能知道如何组装。但这会使您的实际数据显而易见,这可能是也可能不是问题。
  3. 不是我能马上看到