我正在实现服务器到服务器的通信,应该(可能)看起来像这样:
客户端(网络浏览器)<-->(网络应用)服务器(服务客户端) <--> (服务应用) 中央服务器
一些客户端请求在本地处理,一些作为远程服务调用(不是 RPC)执行。对中央服务器的请求格式为 HTTPS POST,然后使用 cURL 发送;服务器回复适当的 JSON 消息。
问题是,我使用的是 HTTPS,每次执行服务查询时,证书验证都需要一些额外的时间。可以重新使用 cURL 句柄并发送“keep-alive”连接 header ,但是......在当前的 MVC 实现中,每个新的客户端请求都会产生新的 Web 应用程序实例(和相应的服务客户端) - 意思是,句柄是重新 -初始化并重新建立 https 连接。
因此,出现以下问题:
- 有什么方法可以加快此类 HTTPS 请求的速度吗?例如,在第一次成功连接后以某种方式绕过验证?
- 我可以放弃 HTTPS(特别是其耗时的证书检查过程)并结合某种授权方法 (Diffie-Hellman) 自行加密/解密 POST 和 JSON(例如,使用 mcrypt)吗?
- 我是不是做错了什么,应该立即停止?
谢谢!
最佳答案
您是否测量了 HTTPS 连接的开销?它真的很重要吗?
如果您想避免为每个请求都进行握手,您可以尝试在服务器和中央服务器之间建立一个持久的安全连接。
您可以使用 SSH 隧道、VPN 等来做到这一点。
编辑:在中央服务器上维护保持连接的本地反向 HTTP 代理也是一种选择。
关于php - 使用 cURL、HTTPS POST 的服务器到服务器通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7230450/