在节点应用程序中使用restify时配置域名而不是IP地址

时间:2014-08-11 08:47:22

标签: javascript node.js api ip-address restify

我正在使用restify模块为我的应用程序生成REST API。我想知道如何在此代码中直接配置我的域名。我希望我的ip_addr类似于“domainname.com”而不是127.0.0.1。

var ip_addr = 'domainname.com';
var port    =  '80';

var connection_string = '127.0.0.1:27017/myapp';
var db = mongojs(connection_string, ['myapp']);
var jobs = db.collection("jobs")

var server = restify.createServer({
    name : "myapp"
});

server.use(restify.queryParser());
server.use(restify.bodyParser());
server.use(restify.CORS());

server.listen(port ,ip_addr, function(){
    console.log('%s listening at %s ', server.name , server.url);
});

我收到错误EADDRNOTAVAIL每当我使用“domainname.com”而非“127.0.0.1”时,有人可以提供帮助,如何在此节点应用中将其配置为我的域名?

1 个答案:

答案 0 :(得分:2)

存在一些误解。它要求指定要收听的IP地址。

示例:

  1. 服务器的地址为100.1.1.2和100.1.1.3
  2. mydomain.com已注册为100.1.1.3
  3. 设置ip_addr = '100.1.1.3'
  4. 在这种情况下,服务器将响应对此IP的所有请求,以及注册到此IP的所有域。通过100.1.1.2的连接将超时。


    很快,如果你想收听domainname.com,只需指定它注册的IP。

    如果您不想担心地址并听取所有可用的网络接口,那么根本不要指定IP地址:

    server.listen(port, function() { .... Server API