【问题标题】:Upload files to aws s3 using NodeJs使用 NodeJs 将文件上传到 aws s3
【发布时间】:2018-01-01 10:23:13
【问题描述】:

我正在开发一个项目(基于 MEAN Stack),该项目根据不同的登录用户显示不同的图像。我正在使用 amazon S3 来存储这些图像。

目前我为管理面板创建了一条不同的路径,管理员可以在其中登录并为不同的用户上传亚马逊 s3 上的图像。(另外,这是应用程序的正确流程吗?)

我的 js 文件中有以下代码行:

AWS.config.update({ accessKeyId: xxxxxx, secretAccessKey: xxxxxx });

我已经读到这应该只用于开发目的,我不应该在这样的代码中包含我的 accesskeyId 和 secretacesskey。

我想知道对于生产应该怎么做?

【问题讨论】:

    标签: node.js amazon-web-services amazon-s3 mean-stack


    【解决方案1】:

    对于生产,您需要将这些密钥存储在环境中。 Aws 模块本身会从环境中选择这些。 应设置AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEY 键。 例如在本地机器上,您可以使用终端命令测试这些 分别为export AWS_ACCESS_KEY_ID=XXXXX 和导出AWS_ACCESS_KEY_ID=XXXXX

    对于生产,您也需要这样做。除非您需要通过您正在使用的节点进程管理器执行此操作。这是一个 pm2 进程管理器的例子。

    module.exports = {
      apps : [
          {
            name: "myapp",
            script: "./app.js",
            watch: true,
            instance_var: 'INSTANCE_ID',
            env: {
                "PORT": 3000,
                "NODE_ENV": "development",
                "AWS_ACCESS_KEY_ID": "XXXXX",
                "AWS_SECRET_ACCESS_KEY": "XXXXX" 
            }
          }
      ]
    }
    

    http://pm2.keymetrics.io/docs/usage/environment/#specific-environment-variables 即使您使用不同的流程管理器,流程也是相似的。

    【讨论】:

      猜你喜欢
      • 2017-09-25
      • 2020-04-28
      • 2020-01-29
      • 2019-12-13
      • 1970-01-01
      • 2015-03-17
      • 2020-07-26
      • 2017-08-24
      • 2020-04-29
      相关资源
      最近更新 更多