Ubuntu 的 DNS 问题。 Url 请求在 MacOSX 中工作正常,但在 Ubuntu 中失败

DNS issue with Ubuntu. Url request works fine in MacOSX, but fails in Ubuntu

一个调用require('request').post()的nodeJSscript已经写好了。此脚本在 MacOSX (Travis) 中运行良好,但在 Ubuntu (Travis) 中失败。还对 NodeJS 'https' 模块进行了测试,以消除可能导致错误的无关变量。然而这也没有用。

/**
* Upload the data to the coverage server
*/
exports.upload = function (data, callback) {
    var url = SERVER + '/v1/coverage';
    request.post(url, {
        form : {
        type : 'grunt-appc-coverage',
        data: data
        },
        json: true,
        agentOptions: false
    }, function (err, response, body) {
        console.log(err, response, body);
        ....
        return callback(null, SUCCESS_UPLOAD);
    });
};

这是我从 Ubuntu 的日志中得到的。

REQUEST make request https://coverage.appcelerator.com/v1/coverage

{ [Error: getaddrinfo ENOTFOUND coverage.appcelerator.com]

code: 'ENOTFOUND',

errno: 'ENOTFOUND',

syscall: 'getaddrinfo',

hostname: 'coverage.appcelerator.com' } undefined undefined

结果可以在这里看到 - Ubuntu - MacOSX(无法 post link)

我认为 CNAME 不符合规范:

$ dig +short coverage.appcelerator.com
https://454bcc35e4c9b0c030c89b311b4322330d84fa3b.cloudapp-enterprise.appcelerator.com.
ec2-54-244-121-14.us-west-2.compute.amazonaws.com.
54.244.121.14
$

看起来坏了。具体来说,第一个 CNAME 看起来损坏了:它的值应该是一个域名,而不是 URL.

... 还是我没有跟上 DNS? :)

ETA:不,我检查了一些资源,他们同意 CNAME 必须拥有一个域名,除此之外别无其他。所以,是的,该 DNS 记录需要替换为合理的记录。