gpt4 book ai didi

amazon-web-services - 如何修复移动 AWS 帐户后间歇性的无服务器图像处理程序 500 错误?

转载 作者:行者123 更新时间:2023-12-03 07:15:04 24 4
gpt4 key购买 nike

我们已将网站转移到新的 AWS 账户。这意味着将所有图像移动到一个新存储桶中,并在 CloudFormation 中设置无服务器图像处理程序。我认为我们已经从 v5.2.0 > v6.0.0 升级了 Serverless Image Handler。当我们现在加载网站时,我们会从间歇性数量的图像(在“img”标签内)中收到 500 个错误。随着时间的推移,错误图像似乎会减少。 IE。如果今天页面上有 10 张图片损坏,那么明天可能会变成 5 张。

如果您复制这些错误图像之一,您会得到以下结果:

图像错误

curl 'https://img2.picle.io/eyJlZGl0cyI6eyJyb3RhdGUiOm51bGwsInJlc2l6ZSI6eyJ3aWR0aCI6NjAwLCJoZWlnaHQiOjQ1MCwiZml0IjoiY292ZXIifX0sImJ1Y2tldCI6InByb2QuaW1nMi5waWNsZS5pbyIsImtleSI6ImltYWdlc1wvWW5QcDFLMkpcLzI3ZTAxOWVlLTMwY2ItNDU0ZS05ODAxLWZhMzJlOTdkYTE1OSJ9' \
-H 'authority: img2.picle.io' \
-H 'accept: image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8' \
-H 'accept-language: en-US,en;q=0.9,nb;q=0.8,it;q=0.7,la;q=0.6' \
-H 'cache-control: no-cache' \
-H 'pragma: no-cache' \
-H 'referer: https://picle.io/' \
-H 'sec-ch-ua: " Not A;Brand";v="99", "Chromium";v="102", "Google Chrome";v="102"' \
-H 'sec-ch-ua-mobile: ?0' \
-H 'sec-ch-ua-platform: "macOS"' \
-H 'sec-fetch-dest: image' \
-H 'sec-fetch-mode: no-cors' \
-H 'sec-fetch-site: same-site' \
-H 'user-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.0.0 Safari/537.36' \
--compressed

这将返回:

{"message": "内部服务器错误"}

但是如果我们直接在浏览器中加载相同的图像 URL,我们会得到正确的 200 图像:

curl 'https://img2.picle.io/eyJlZGl0cyI6eyJyb3RhdGUiOm51bGwsInJlc2l6ZSI6eyJ3aWR0aCI6NjAwLCJoZWlnaHQiOjQ1MCwiZml0IjoiY292ZXIifX0sImJ1Y2tldCI6InByb2QuaW1nMi5waWNsZS5pbyIsImtleSI6ImltYWdlc1wvWW5QcDFLMkpcLzI3ZTAxOWVlLTMwY2ItNDU0ZS05ODAxLWZhMzJlOTdkYTE1OSJ9' \
-H 'authority: img2.picle.io' \
-H 'accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9' \
-H 'accept-language: en-US,en;q=0.9,nb;q=0.8,it;q=0.7,la;q=0.6' \
-H 'cache-control: no-cache' \
-H 'pragma: no-cache' \
-H 'sec-ch-ua: " Not A;Brand";v="99", "Chromium";v="102", "Google Chrome";v="102"' \
-H 'sec-ch-ua-mobile: ?0' \
-H 'sec-ch-ua-platform: "macOS"' \
-H 'sec-fetch-dest: document' \
-H 'sec-fetch-mode: navigate' \
-H 'sec-fetch-site: none' \
-H 'sec-fetch-user: ?1' \
-H 'upgrade-insecure-requests: 1' \
-H 'user-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.0.0 Safari/537.36' \
--compressed

请注意,一段时间后,上述两种方法可能都会开始工作。我不确定是否是导入问题,可能需要一段时间才能重新处理所有图像。

最佳答案

我在这个帖子中找到了答案!:

https://github.com/aws-solutions/serverless-image-handler/issues/375#issuecomment-1227290911

tl;博士

确保你的“并发Lambda执行配额”足够大(对我来说是10,增加到1000),否则如果你一次请求多个图像,其中一些将被丢弃并失败,然后CloudFront也会将它们缓存几分钟。

因此解决方法是请求增加此处的并发 Lambda 执行配额:https://docs.aws.amazon.com/servicequotas/latest/userguide/request-quota-increase.html

希望这也能解决您的问题。

P.S:顺便说一句,我刚刚注意到这个 Github 线程实际上是你打开的哈哈,所以这一切都归功于你! :D


请求增加配额时,请务必选择并发执行

enter image description here

关于amazon-web-services - 如何修复移动 AWS 帐户后间歇性的无服务器图像处理程序 500 错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72718301/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com