使用独立的node.js服务器进行虚拟主机托管

时间:2011-12-14 11:37:49

标签: node.js express

目前有没有办法使用node.js服务器进行虚拟主机托管(即在一个IP下托管多个域)?

3 个答案:

答案 0 :(得分:29)

当然,您可以专门使用bouncynode-http-proxy

还有Express解决方案。 Check out this example

答案 1 :(得分:13)

Web浏览器发送标题属性' host'它标识了他们尝试联系的域名托管服务商。所以最基本的方法是:

http = require('http');

server = http.createServer(function(request, response) {
    switch(request.headers.host) {
        case 'example.com': response.write('<h1>Welcome to example.com</h1>'); break;
        case 'not.example.com': response.write('<h1>This is not example.com</h1>'); break;
        default: 
            response.statusCode = 404;
            response.write('<p>We do not serve the host: <b>' + request.headers.host + '</b>.</p>');
    }
    response.end();
});
server.listen(80);

答案 2 :(得分:3)

我建议express-vhost,因为其他解决方案基于代理服务器,这意味着你们每个人都应该打开一个不同的端口。