CloudFront 源响应超时 > 60
CloudFront Origin Reponse Timeout > 60
我有 CloudFront 服务我的 Angular 页面和 Elastic Beanstalk 运行 一个处理 API 调用的 nodejs 服务器。
尤其是一个电话要花很多时间。它读取存储在平面结构中的文件并将它们放入文件结构中,然后将它们压缩并 return 发送给用户。大多数这些文件的大小都超过 100 MB,因此需要时间。我已将 CloudFront 的原始响应超时设置为 60(它说的是最大值),我正在处理的数据将在那么长的时间内正常工作,但我们才刚刚开始,我知道稍后会有 60 秒的时间不会足够长。
CloudFront 似乎确实进行了 3 次尝试(最初加上 2 次重试),因此总共需要 3 分钟,但是当第一次重试出现时,该过程将不会完成。我什至加入了一个 hack 来检查进程是否已经在后续调用中启动,但它仍然挂起进程并最终 returning a 504.
我的问题是有没有办法让 CloudFront 等待超过 60 秒,或者有什么我可以定期 return 说我仍在工作并重置超时?到目前为止我尝试过的所有方法都不起作用。
对我来说似乎是正常趋势。在到处搜索一两天后,我 post 提出了一个问题,不久之后我找到了解决方案。这是我发现的:
您可以请求增加 CloudFront 的源响应超时(请参阅 here)。不知道为什么我没有早点找到这个页面。问题仍然是,如果我增加它并保持它的方式,这将意味着对我的 api 服务器的所有请求的超时将是这么高的值,只有这个请求需要更高的限制(在至少现在)。因此,我创建了一个新的起源和行为,它只适用于那个 api 调用,并且可以将限制设置得更高,而对所有其他 api 调用保持更低的限制。
至少理论上是这样。我的测试证实了这一点,但还没有听说我增加限制的请求是否已被批准。
我有 CloudFront 服务我的 Angular 页面和 Elastic Beanstalk 运行 一个处理 API 调用的 nodejs 服务器。
尤其是一个电话要花很多时间。它读取存储在平面结构中的文件并将它们放入文件结构中,然后将它们压缩并 return 发送给用户。大多数这些文件的大小都超过 100 MB,因此需要时间。我已将 CloudFront 的原始响应超时设置为 60(它说的是最大值),我正在处理的数据将在那么长的时间内正常工作,但我们才刚刚开始,我知道稍后会有 60 秒的时间不会足够长。
CloudFront 似乎确实进行了 3 次尝试(最初加上 2 次重试),因此总共需要 3 分钟,但是当第一次重试出现时,该过程将不会完成。我什至加入了一个 hack 来检查进程是否已经在后续调用中启动,但它仍然挂起进程并最终 returning a 504.
我的问题是有没有办法让 CloudFront 等待超过 60 秒,或者有什么我可以定期 return 说我仍在工作并重置超时?到目前为止我尝试过的所有方法都不起作用。
对我来说似乎是正常趋势。在到处搜索一两天后,我 post 提出了一个问题,不久之后我找到了解决方案。这是我发现的:
您可以请求增加 CloudFront 的源响应超时(请参阅 here)。不知道为什么我没有早点找到这个页面。问题仍然是,如果我增加它并保持它的方式,这将意味着对我的 api 服务器的所有请求的超时将是这么高的值,只有这个请求需要更高的限制(在至少现在)。因此,我创建了一个新的起源和行为,它只适用于那个 api 调用,并且可以将限制设置得更高,而对所有其他 api 调用保持更低的限制。
至少理论上是这样。我的测试证实了这一点,但还没有听说我增加限制的请求是否已被批准。