Несколько доменов, одноузловое (экспресс) приложение - PullRequest
4 голосов
/ 03 февраля 2012

Я пытаюсь создать простое приложение для узла, где пользователь может создать профиль.По умолчанию URL-адрес его профиля должен выглядеть следующим образом: user1.myappname.com, но когда пользователь заполняет ввод пользовательского домена (и указывает этот домен на IP-адрес моего приложения), он должен иметь возможность использовать этот пользовательский домен, например:

usercustomdomain.com => user1.myappname.com usercustomdomain.com/someaction => user1.myappname.com/someaction

У кого-нибудь здесь есть опыт реализации этого с помощью express.js?Я имею в виду не только пользовательские домены, но и субдомены.

Спасибо -M

1 Ответ

6 голосов
/ 03 февраля 2012

Поскольку ваши пути одинаковы независимо от домена, это просто.Получите имя хоста из запроса, переданного в ваши методы экспресс-маршрутизации, а затем выполните любой необходимый поиск.Узлу все равно, что это за домен, и пока ваш домен имеет CNAME для ваших поддоменов, а пользовательские домены имеют тот же IP-адрес, что и myappname.com, узел будет отвечать на все запросы одинаково.

Например, в вашем / someaction route:

app.get('/someaction', function(req,res) {
    hostName = req.header('host');
    // lookup info from database based on hostName, then output it ....
});
...