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 记录需要替换为合理的记录。
一个调用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 记录需要替换为合理的记录。