无服务器图像处理程序请求大文件大小时出现 502 错误

Posted

技术标签:

【中文标题】无服务器图像处理程序请求大文件大小时出现 502 错误【英文标题】:502 error when Serverless image handler requests a large file size 【发布时间】:2018-08-25 02:41:16 【问题描述】:

我已部署 AWS Cloud Formation Serverless image handler 以调整 S3 存储桶中的图像大小,该存储桶运行良好。它使用 Cloudfront、API Gateway、Lamdba 和自定义域。

我的原始图像 (PNG) 大小合理(约 5MB 或约 5000 像素),我的衍生图像大小不一。直到大约fit-in/2048x2048 一切正常。在此之上,虽然我收到 502“内部服务器错误”。

我尝试最大化内存和超时无济于事。有谁知道那里发生了什么?有什么看不见的限制吗?


    "message": "Internal server error"

【问题讨论】:

CloudWatch 日志中的日志说明了什么? 导致此错误时,CloudWatch 甚至不会创建行项目。它确实登录成功,但是使用较小的图像。 AWS Lambda 是否至少记录 CloudWatch 中调用的通用 START、END 和 REPORT 行? 对于那些失败的绝对没有写入日志。 在这种情况下,您应该咨询 AWS Support,因为这可能是 AWS Lambda 内部的一个问题。 【参考方案1】:

此问题是由 Lambda 函数的 6mb 负载限制引起的。作为一种解决方法,可以将图像直接保存到输出存储桶并将它们从该存储桶交付给客户。

问题是自 2018 年 7 月以来的未来积压(see here 或 here)

【讨论】:

【参考方案2】:

这里的架构可能需要更正。每当您交付大文件时,您都需要将责任留给 S3 / CloudFront。 Lambda 应该负责对内容进行身份验证/授权。

API 网关对 lambda 响应限制有限制。

https://docs.aws.amazon.com/apigateway/latest/developerguide/limits.html

【讨论】:

抱歉,您认为哪个 lambda 限制会限制图像大小?你是说 AWS CloudFormation 包无法传送大文件?

以上是关于无服务器图像处理程序请求大文件大小时出现 502 错误的主要内容,如果未能解决你的问题,请参考以下文章

Nginx+uWSGI+Django 在大请求正文和过期会话时返回 502

服务器出现 nginx 502 Bad Gateway

服务器老是出现502 Bad Gateway?

访问迅雷动漫变得好慢,有时还会出现“502 Bad Gateway” 怎么解决啊!!!!!!

apache反向代理出现502调整

PHP出现502解决方案