2012-02-24 6 views
1

私はWebアプリケーションを開発しています。ユーザーはサインアップし、account-456.myappsdomain.comを介してコンテンツにアクセスするためのサブドメインが割り当てられます。そのサブドメインを持つ意思は、彼らが直接それを訪問することではありません。代わりに、CNAMEがwww.their-own-site.comaccount-456.myappsdomain.comを指し示すように通知され、自分のドメインにアクセスしてコンテンツを自分のドメインで直接表示できるようになります。 Nginxを使って、ユーザーがアカウントにサインアップするたびに設定を編集したり、仮想ホストを追加することなく、これを可能にする設定を作成することは可能ですか?Nginx conf for a SaaS - このシナリオをうまく処理する方法はありますか?

現在のところ、私のアプリはホストID(account-456ビットを取得するためにドットで分割)を使用してアカウントIDを取得し、それに基づいてテーマを設定します。私は、この新しい種類の設定で、自分のドメイン(彼らがアプリケーションに入力されたことになります)、ドメイン(それが属するアカウント)、テーマを設定するためのホストヘッダーを確認しますそうですね。これは正しいです?

+0

うまくいくと便利です:http://en.wikipedia.org/wiki/Secure_Sockets_Layer#Support_for_name-based_virtual_servers – sarnold

答えて

0

質問に答えるには、Nginxでワイルドカードサブドメインのサイト設定を行い、www.example.comのCNAMEでacct-123.yourappsdomain.comを指定すると、前者は後者のように扱われる。 www.example.comのホスト名を聞いて、ドメインのアカウント情報をデータベースで検索し、正しいコンテンツを読み込むのはあなた次第です。基本的には、CNAMEドメインのサブドメインをプルアップするのに使用するのと同じロジックを使用します。

0

私は同様の状況に直面しています。私の計画は、アプリからnginxの設定serverブロックを生成することです(私はどこのドメインを知っています)。テナントが追加、削除、変更されるたびに、confが再生成され、サーバーがリロードされます。ジンジャーのようなものでテンプレートを作成すると、よりクリーンなものになります。

EDIT:

OR

hereが示唆したようにあなたはmapを使用することができますが、私はそれが時間のパフォーマンスの低下を実行しているだろうと思います。

関連する問題