【问题标题】:Node JS ERROR: "the request could not be satisfied"节点 JS 错误:“无法满足请求”
【发布时间】:2023-03-30 22:24:02
【问题描述】:

我正在使用 Node JS 并尝试从 AWS 调用 Lambda 函数。 我收到错误:无法满足请求 状态:403

var opts = {
  host: 'myhost.amazonaws.com',
  region: 'us-east-1',
  service: 'execute-api',
  path: '/mypath',
  method: 'POST',
  headers:{
    'Content-Type': 'application/json'
    }   
};

var req = http.request(opts, function(res){
  console.log('Status: ' + res.statusCode);
  console.log('Headers: ' + JSON.stringify(res.headers));
  res.setEncoding('utf8');
  res.on('data', function (body){
    console.log('Body: ' + body);
   });
});

req.on('error',function(e){
  console.log('problem with request: '+ e.message);
});

req.end();

我不知道我的语法是否错误。

谢谢

【问题讨论】:

    标签: javascript node.js http-post aws-lambda


    【解决方案1】:

    对 AWS 服务一无所知,但通常 403 错误代码表示“禁止”,因此它应该与安全问题有关,无法针对服务器进行身份验证或类似情况

    尝试从浏览器或使用 cUrl 或 wget 执行查询。如果它也失败了,这不是你的语法,这是一个安全问题

    【讨论】:

    • 谢谢,我尝试使用邮递员拉取请求,我有信息返回,但是当我在节点 js 中使用相同的东西时,我不断收到此错误。
    • 您能否提供两种情况的详细请求和响应(当然,凭据除外)?
    • 当我使用 Postman 时,我得到了我需要的所有数据的响应,但不是我的代码。
    • 好的。没有更多信息,对您无能为力。但如果我是你,我会从请求中捕获每一个标头,并从这两种方法中获取响应。并开始比较它们。它是一个http请求。没有无限可能,孩子,你最终会发现不同的。
    • 我想我得到它的作品。我遇到的问题是您前面提到的安全问题。我使用 aws4 作为签名 v4。 AWS 中的文档不是很清楚。
    【解决方案2】:

    使用 https 而不是 http,我希望它会起作用。

    【讨论】:

      猜你喜欢
      • 2022-08-12
      • 1970-01-01
      • 2020-12-28
      • 2021-05-12
      • 2021-11-23
      • 2018-03-03
      • 1970-01-01
      • 2013-04-11
      • 1970-01-01
      相关资源
      最近更新 更多