nodejs配置httpd.conf

时间:2013-06-20 21:25:23

标签: node.js configuration

我习惯了apache并将配置项放在httpd.conf

这些类型的配置在节点环境中的位置。例如,我想确保只接受GET,POST和PUT,并且不接受Head和Trace。这样的配置在哪里?

其他内容,如缓存控制和限制请求和响应大小。

1 个答案:

答案 0 :(得分:1)

Node.js只是一个带有系统API的JS框架。从技术上讲,您可以在Node.js中重新实现Apache HTTP Server,模仿其行为及其配置结构。但是你呢?

我相信您正在使用Node.js'HTTP模块。查看文档:无法从文件中读取配置。使用http.createServer以编程方式创建服务器。您提供侦听请求的回调。此回调提供http.IncomingMessage参数(第一个参数),其中包含您需要的所有内容。

以下是一个例子:

// load the module
var http = require('http');

// create the HTTP server
var server = http.createServer(function(request, response) {
  // use the "request" object to know everything about the request
  console.log('got request!');

  // method ('GET', 'POST', 'PUT, etc.):
  console.log('HTTP method: ' + request.method);

  // URL:
  console.log('HTTP URL: ' + request.url);

  // headers:
  console.log('HTTP headers follow:');
  console.log(request.headers);

  // client address:
  console.log('client address: ' + request.socket.address().address);
});

// listen on port 8000
server.listen(8000);

如果您真的需要配置文件,则必须自行伪造。我建议创建一个JSON配置文件,因为它可以使用JSON.parse()直接转换为JS对象。然后只需以编程方式使用配置对象即可实现所需。