顧客がドメイン内の組織名を使用して SaaS にアクセスできるようにするにはどうすればよいですか?
たとえば、Web アプリ example.com には、OrgA と OrbB の 2 つの顧客がいるとします。
ログインすると、各顧客は自分のサイト 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" }
注意。domain 配列の最初の項目は組織名です。ホスト ヘッダーにポートが表示されないことを前提としており、今のところ、非組織のサブ ドメイン名 (www、ブログなど) の処理方法を検討していません。
したがって、私が持っている質問は、さまざまなホスト ヘッダーを持つ要求を処理するように node/express を構成する方法についてです。これは通常、Apache ではワイルドカード エイリアスを使用するか、IIS ではホスト ヘッダーを使用して解決されます。
Apache/Rails の例は @ http://37signals.com/svn/posts/1512-how-to-do-basecamp-style-subdomains-in-railsです。
ノードで同じことをどのように達成できますか?