Как сделать роутинг доменов в nodejs на VDS?

Задача:
Есть несколько разных доменов, которые делегированы на один IP VDS на которой висит node js приложение. Возможно ли сделать (и как, куда копать), чтобы нода определяла по душу какого домена пришло обращение и отдавала соответствующий контент? Типа как виртуальные хосты в nginx направляют в нужный каталог. Только не нужно направлять в каталог, просто генерить свой контент для каждого домена.

Например, чтобы сначала происходил роутинг доменов, а уже потом по урлам (типа рест).
  • Вопрос задан
  • 785 просмотров
Решения вопроса 2
bingo347
@bingo347 Куратор тега Node.js
Crazy on performance...
запрошеный хост передается в заголовке запроса Host
все веб-серверы ориентируются именно по этому заголовку.
Вот простой пример с express:
var http = require('http');
var express = require('express');
var site1App = express();
var site2App = express();

var site1Req = site1App();
var site2Req = site2App();
var server = http.createServer((req, res) => {
    switch(req.headers.host) {
        case 'site1.ru':
        case 'www.site1.ru':
            site1Req(req, res);
            break;
        case 'site2.ru':
        case 'www.site2.ru':
            site2Req(req, res);
            break;
        default:
            //unknown host
            res.writeHead(404);
            res.end();
    }
});
server.listen(80);
Ответ написан
@antonsr98
Системный Администратор
копать в сторону vhost там есть и пример и описание установки https://github.com/expressjs/vhost
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@LiguidCool
А ещё хорошим решением будет поставить тот-же nginx в роли reverse- proxy.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы