使用curl时接收未完成

时间:2019-02-26 09:37:05

标签: rest http nginx curl

我有一个本地linux服务器,该服务器通过REST风格的接口与远程服务器一起处理数据。 本地服务器将带有curl POST的JSON文件发送到远程服务器,该远程服务器处理JSON并响应另一个包含结果的JSON文件。 远程服务器正在运行NGINX 这一切都没有问题,直到发生了一些变化,现在curl接收过早结束并且curl从未完全返回到命令行。

本地和远程服务器的操作员说什么都没有改变,并且当从其他服务器到远程服务器使用curl时,它可以正常处理。

在本地服务器无法正常工作的情况下,我已经确定远程服务器已收到所有JSON,已经对其进行处理并产生了完整的响应。

我已经记录了curl会话,发现工作系统和非工作系统仅在接收数据方面有所不同。在工作系统上,第一个块的大小约为10kb,在非工作系统上,第一个块的大小约为2Kb,并且在2个块(大约5000个奇数字节)之后将停止接收。

我不知道Curl和NGINX之间的幕后情况,这是关于数据将如何分块的协商,甚至我应该在哪里寻找系统崩溃的地方。 我已经将本地服务器升级到最新的curl,并且其行为方式相同。我什至都不相信Curl甚至是问题所在。

如果有人对正在发生的事情以及应该在哪里找到问题的想法有所了解,将不胜感激。

我还要补充一点,对于较小的JSON文件交换,非操作系统可以正常工作,并且无效的JSON响应大小仅为1Mb。

谢谢。

0 个答案:

没有答案