Wie gehe ich mit mehr als einer Domäne um?
Frage
Ich muss Node.js für 3 Domänen verwenden. Wie kann ich es tun? Im Moment habe ich eine Anwendung, die Port 80 bindet. Wie unterstützt ich mehr als eine Domänen? Ich verwende auch das Cluster -Modul, das meine Anwendung in 3 Prozessen aufgibt.
Lösung
Wahrscheinlich am besten, benutzen Sie Verbinden Sie Vhost, das ist ein Verbindungsmodul.
Oder: Sie können Ihre URLs mit einem globalen URL -Handler neu schreiben und dann Ihre Einschränkungen basierend auf der umgeschriebenen URL schreiben:
app.get('*', function(req, res, next){
if(req.headers.host === 'domain1.com')
req.url = '/domain1' + req.url;
else if(req.headers.host === 'domain2.com')
req.url = '/domain2' + req.url;
next();
})
.get('/domain1/index', function(){
})
.get('/domain2/index', function(){
});
Andere Tipps
Verwenden https://github.com/nodejitsu/node-http-proxy.
Sie müssen den Reverse -Proxy auf Port 80 ausführen (vorausgesetzt, Sie verwenden HTTP und nicht HTTPS) und dann wird die Anforderung an verschiedene Dienste (dh Knode -Server) weitergeleitet. Der tatsächliche Knotenserver verwendet nicht standardmäßige Ports zum Anhören.
z.B
Service A (for domain A ) - 8001
Service B (for domain B ) - 8002
Service C (for domain C ) - 8003.