Ich besitze zwei Domains, abc.com und xyz.com (nicht die echten, die ich besitze, aber sie funktionieren als Beispiel). Beide zeigen auf die gleiche IP-Adresse. Hier finden Sie meine Server js-Datei:node.js :: Was macht Hostname in `listen` Funktion?
var sys=require('sys'),
http=require('http'),
settings=require('./settings');
var srv = http.createServer(function(req, res) {
var body="<b>Hello World!</b>"
res.writeHead(200, {
'content-length': body.length,
'content-type': 'text/html',
'stream': 'keep-alive',
'accept': '*/*'
}
);
res.end(body);
});
srv.listen(8000, 'abc.com'); // (settings.port, settings.hostname);
ich dann besuchen http://abc.com:8000/ und http://xyz.com:8000/ und sie beide die Webseite anzuzeigen. Ich dachte, dass ich die Seite nur auf abc.com sehen könnte, da ich das als Hostname eingestellt habe.
Wenn ich jedoch '127.0.0.1' als Hostnamen verwende, kann ich die Seite nur über wget auf dem Server anzeigen.
Also was tut der Hostname Parameter tun?
und haben Sie einen anderen Weg gefunden? –
@pksorensen, gibt es weitere Fragen, die sich mit [virtual hosting] (http://stackoverflow.com/questions/8503841/virtual-hosting-with-standalone-node-js-server) auf Node.js befassen. –
Express.js ist eine Alternative, die das löst. –