要解决AWS ALB/Cloudfront文件上传返回状态码413的问题,您可以尝试以下解决方法:
在ALB上:
aws elbv2 modify-load-balancer-attributes --load-balancer-arn --attributes Key=deletion_protection.enabled,Value=true Key=access_logs.s3.enabled,Value=false Key=routing.http.drop_invalid_header_fields.enabled,Value=true Key=http2.enabled,Value=true Key=connection_draining.enabled,Value=true Key=connection_settings.idle_timeout.timeout_seconds,Value=
在CloudFront上:
aws cloudfront update-distribution --id --distribution-config file://config.json
其中config.json文件内容如下:
{
"Origins": {
"Quantity": 1,
"Items": [
{
"Id": "",
"DomainName": "",
"OriginPath": "",
"CustomHeaders": {
"Quantity": 0
},
"S3OriginConfig": {
"OriginAccessIdentity": ""
},
"CustomOriginConfig": {
"HTTPPort": 80,
"HTTPSPort": 443,
"OriginProtocolPolicy": "https-only",
"OriginReadTimeout": 30,
"OriginKeepaliveTimeout": 5
}
}
]
},
"DefaultCacheBehavior": {
"TargetOriginId": "",
"ForwardedValues": {
"QueryString": false,
"Cookies": {
"Forward": "none"
}
},
"ViewerProtocolPolicy": "redirect-to-https",
"MinTTL": 0
},
"Comment": "",
"Enabled": true
}
需要替换、、、和为您的实际值。
例如,在Node.js中,可以通过以下代码将请求体大小限制增加到100MB:
const express = require('express');
const bodyParser = require('body-parser');
const app = express();
app.use(bodyParser.json({ limit: '100mb' }));
这些解决方法可以帮助您解决AWS ALB/Cloudfront文件上传返回状态码413的问题。根据您的具体情况选择适合的解决方法。