当我在 header 中使用 x-amz-tagging 时,会出现 403 forbidden 错误

When I use a x-amz-tagging in header it gives 403 forbidden error

您好,我有一个可用的无服务器功能,它使用 s3 signedurl 将文件放入 s3 存储桶中,该功能在无服务器框架上使用,我正尝试使用 Next 迁移到 vercel 无服务器功能。

该函数通过无服务器函数和 Postman 工作,但是当我尝试使用 Vercel 时,虽然它生成了 signedurl ok 但是当我尝试将它与 "x-amz-tagging"="test" header 一起使用时,我得到了 403错误。这是我的代码的相关部分:

//serverless function
const allowCors = fn => async (req, res) => {
        res.setHeader('Access-Control-Allow-Credentials', true)
        res.setHeader('Access-Control-Allow-Origin', '*')
        res.setHeader('Access-Control-Allow-Methods', 'GET,OPTIONS,PATCH,DELETE,POST,PUT')
        res.setHeader(
           'Access-Control-Allow-Headers',
           'X-CSRF-Token, X-Requested-With, x-amz-tagging, Accept, Accept-Version, Content-Length, Content-MD5, Content-Type, Date, X-Api-Version'
        )
        return await fn(req, res)
}

function requestUploadURL(req, res) {
...
}
module.exports = allowCors(requestUploadURL)
//code in app
try {
   const config = {
       onUploadProgress(progressEvent) {
        const percent = Math.round(
          (progressEvent.loaded * 100) / progressEvent.total)
            adduploadprogress({
              file: fileSelectedArray[i].file,
              fileType: fileSelectedArray[i].fileType,
              myFsize: fileSelectedArray[i].myFsize,
              percent,
            })
        },
        headers: {
          'Content-Type': fileSelectedArray[i].fileType,
           'x-amz-tagging': 'test', // THIS CAUSES 403 ERROR
                                                            
        },
}

const resp1 = await axios.put(
  uploadURL,
  fileSelectedArray[i].file,
  config
)

非常感谢收到的任何建议

出于某种原因,我还需要使用 Tagging:'' 作为被 allowCors 函数包装的函数中 s3 参数的一部分。我以前不需要这样做

const { body } = req
        const s3Params = {
                Bucket: UNIQUEBUCKET,
                Key: body.name,
                ContentType: body.type,
                ACL: 'public-read',
                Tagging: '',
        }

        const uploadURL = s3.getSignedUrl('putObject', s3Params)