首页 > 解决方案 > 部署后 AWS 弹性 beanstalk Express 服务 502 Bad Gateway

问题描述

我使用 aws cloud9 进行开发,使用 codestar 进行部署。该服务在本地运行良好,部署后有一种发布方法给我 502 错误。

server.js 中的方法:

app.post('/upload', async function(req, res) {
  const url = "https://m.media-amazon.com/images/M/MV5BMjIxMjgxNTk0MF5BMl5BanBnXkFtZTgwNjIyOTg2MDE@._V1_UX182_CR0,0,182,268_AL_.jpg";
  const id = "tt0993846";
  const stream = request(url).pipe(fs.createWriteStream(`images/${id}.jpg`));

  const putObjectWrapper = (params) => {
    return new Promise((resolve, reject) => {
      const s3 = new AWS.S3({ params: { Bucket: 'my-upload-bucket-idan', Key: id+'.jpg' } })
      s3.putObject(params, function (err, result) {
        if(err) reject(err);
        if(result) resolve(result);
      });
    })
  }

  const store = async function() {
    try {
      const data_stream = fs.createReadStream(`images/${id}.jpg`);
      const s3 = new AWS.S3({ params: { Bucket: 'my-upload-bucket-idan', Key: id+'.jpg' } });
      const request = s3.putObject({Body: data_stream});
      const result = await request.promise();
      handleSuccess(result.ETag, res);
    } catch (err) {
      console.log(err);
      handleError(err, res);
    }
  }
  
  stream.on('close', () => {
  store();
});
});

错误:

<html>
<head>
    <title>502 Bad Gateway</title>
</head>

<body>
    <center>
        <h1>502 Bad Gateway</h1>
    </center>
    <hr>
    <center>nginx/1.16.1</center>
</body>

</html>

标签: node.jsamazon-web-servicesexpressamazon-elastic-beanstalkaws-codestar

解决方案


我修好了它。问题是我的服务器上没有“图像”文件夹。不知道为什么它给了我一个502。


推荐阅读