我使用Serverless Framework创建了一个S3存储桶和用于上传文件的Lambda函数。
在我的资源"部分我有以下内容来创建S3存储桶:
UploadBucket:
Type: AWS::S3::Bucket
Properties:
BucketName: ${self:custom.s3BucketName}
AccessControl: Private
CorsConfiguration:
CorsRules:
- AllowedMethods:
- PUT
- HEAD
AllowedOrigins:
- "*"
AllowedHeaders:
- "*"
出于某种原因,每次执行文件上传时,PUT请求都会生成
" 403禁止"
所以我开始在S3控制台中直接手动编辑CORS配置XML,突然之间,莫名其妙地开始工作了。出于好奇,我手动将CORS配置恢复到原始配置,它仍然有效。我使用sls deploy
命令重新部署,它继续工作。
我很好奇它为什么会突然工作,更重要的是,我能做些什么来确保我再也不会遇到这种情况。