0

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

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

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

4

1 回答 1

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(). 然后只需以编程方式使用您的配置对象来实现您想要的。

于 2013-06-20T22:20:24.847 回答