Как разрешить клиентам доступ к SaaS, используя имя своей организации в домене?
Например, у веб-приложения example.com может быть 2 клиента, OrgA и OrbB.
После входа каждый клиент перенаправляется на свой сайт orga.example.com / orgb.example.com.
Как только запрос, включающий субдомен, достигает сервера узла, я надеюсь, что обработатьзапрос с одиночным маршрутом '/'.Внутри обработчика маршрута он просто проверяет заголовок узла и рассматривает поддомен как параметр для организации.Что-то вроде:
app.get "/*", app.restricted, (req, res) ->
console.log "/* hit with #{req.url} from #{req.headers.host}"
domains = req.headers.host.split "."
if domains
org = domains[0]
console.log org
# TODO. do something with the org name (e.g. load specific org preferences)
res.render "app/index", { layout: "app/app" }
NB.Первый элемент массива доменов - это название организации.Я предполагаю, что порт не отображается в заголовке хоста, и на данный момент я не рассматриваю, как обрабатывать не-организационные субдоменные имена (например, www, blog и т. Д.).
Поэтому у меня возник вопросподробнее о том, как можно настроить узел / экспресс для обработки запросов с различными заголовками хоста.Обычно это решается в Apache с использованием подстановочного псевдонима или в IIS с использованием заголовка хоста.
Примером Apache / Rails является @ http://37signals.com/svn/posts/1512-how-to-do-basecamp-style-subdomains-in-rails
Как этого можно достичь в узле?