节点图像上载在本地上运行良好,但在aws-ec2上返回408超时错误

时间:2019-03-23 11:36:06

标签: node.js amazon-s3 amazon-ec2 hapi

通过反应将图像上传到hapi.js到s3上,可以在本地主机上完美运行,但在状态码为408(超时)的AWS ec2上失败。

我尝试禁用AWS超时并增加api超时。它适用于小尺寸图像,但不适用于尺寸大于5mb的图像

反应代码-

data.append('file', imagesToUpload[0]);
await axios.post('/hall/images', data, {
  headers: {
   'content-type': 'multipart/form-data'
   }
})

Hapi api代码-

const uploadImages = {
  payload: {
      allow: 'multipart/form-data',
      maxBytes: 1048576*120
  },
  validate: {
    payload: {
      file: joi.any().required(),
    },
  },
  handler: async (req, h) => {
    const {file} = req.payload;
    const options = {queueSize: 1};
    const params = {
      ACL: 'public-read',
      Body: file,
      ContentType: 'multipart/form-data',
      Bucket: `***`,
      Key: Date.now().toString()
    };
    return s3.upload(params, options).promise();
}

1 个答案:

答案 0 :(得分:0)

如果较小尺寸的图像可以上传,则您的端口和安全组可能很好。如果在较大的图像上失败,您是否尝试过分段上传?

https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html