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



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

( web浏览器)& lt;——> ( web应用程序)服务器 (服务客户机) & lt;——> (服务应用)中央服务器

一些客户端请求在本地处理,一些作为远程服务调用(不是RPC)执行。对中心服务器的请求格式为HTTPS POST,然后使用cURL发送;服务器返回相应的JSON消息。

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

因此,出现了以下问题:

  1. 有没有办法加速这样的HTTPS请求?例如,在第一次成功连接后以某种方式绕过验证?
  2. 我可以放弃HTTPS(具体来说,它耗时的证书检查过程),自己加密/解密POST和JSON(例如,使用mcrypt),并结合一些授权方法(Diffie-Hellman)吗?
  3. 我做了什么完全错误的事情,应该立即停止吗?

谢谢!

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

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

你可以通过SSH隧道,VPN等来实现。

编辑:一个本地反向HTTP代理,在中央服务器上维护一个keep-alive连接也是一个选项。

  1. 将请求批处理在队列中,如果可能的话,一次发送x个请求
  2. 你可以发送一个授权密钥请求,只有服务器和中央服务器可能知道如何组装。但这会让你的实际数据一目了然,这可能是个问题,也可能不是。
  3. 我不能马上看到

最新更新