Existe-t-il un moyen de faire de l'hébergement virtuel avec un serveur node.js (c'est-à-dire héberger plusieurs domaines sous une seule IP) ?
Réponses
Trop de publicités?Bien sûr, vous pouvez utiliser rebondir o node-http-proxy spécifiquement pour cela.
Il existe aussi une solution express. Regardez cet exemple .
Les navigateurs Web envoient une propriété d'en-tête "host" qui identifie l'hôte du domaine qu'ils essaient de contacter. La méthode la plus simple serait donc de faire :
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);
Je recommanderais express-vhost Comme les autres solutions sont basées sur un serveur proxy, cela signifie que chacun de vos serveurs virtuels doit ouvrir un port différent.