【问题标题】:"Error: getaddrinfo ENOTFOUND" error when making an HTTPs request发出 HTTPS 请求时出现“错误:getaddrinfo ENOTFOUND”错误
【发布时间】:2018-04-02 17:45:47
【问题描述】:

这是 AWS Lambda 函数中的代码:

var https = require('https');
exports.handler = (event, context, callback) => {
    var params = {
        host: "bittrex.com",
        path: "/api/v1.1/public/getmarketsummaries"
    };
    var req = https.request(params, function(res) {
        var test = res.toString();
        console.log(JSON.parse(test));
        //console.log(JSON.parse(res.toString()));
    });
    req.end();
};

错误:getaddrinfo ENOTFOUND https://bittrex.com https://bittrex.com:443 在 errnoException (dns.js:28:10) 在 GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:76:26)

其他解决方案无效。

【问题讨论】:

  • @MarkB,什么是 VPC?

标签: javascript https aws-lambda


【解决方案1】:

从主机中删除https://。要求已经表明您正在使用 https/SSL。

【讨论】:

    【解决方案2】:

    我修改了您的代码以在 AWS Lambda Node.js 6.10 中正常工作。我将 Lambda 超时设置为 60 秒以进行测试。

    最大的变化是添加了“res.on('data', function(chunk) {}:”和“res.on('end', function() {}”。

    var https = require('https');
    exports.handler = (event, context, callback) => {
        var params = {
            host: "bittrex.com",
            path: "/api/v1.1/public/getmarketsummaries"
        };
        var req = https.request(params, function(res) {
            let data = '';
            console.log('STATUS: ' + res.statusCode);
            res.setEncoding('utf8');
            res.on('data', function(chunk) {
                data += chunk;
            });
            res.on('end', function() {
                console.log("DONE");
                console.log(JSON.parse(data));
            });
        });
        req.end();
    };
    

    【讨论】:

      【解决方案3】:

      问题在于您的安全组。看起来您的 lambda 无权解析 DNS。检查您的 lambda sec 组是否启用了端口 53 UDP 和 TCP。

      【讨论】:

      • Lambda 默认没有安全组。如果您将其网络配置更改为在您的 VPC 中运行,它只有一个
      • 是的,默认情况下它没有分配安全组,但可以轻松地将其配置为在您的 VPC 和分配安全组的子网中运行。
      猜你喜欢
      • 2021-05-10
      • 2021-04-22
      • 2019-01-06
      • 1970-01-01
      • 2021-08-10
      • 2022-11-04
      • 1970-01-01
      • 1970-01-01
      • 2022-01-18
      相关资源
      最近更新 更多