2012-02-03 12 views
4

私はユーザーがプロファイルを作成できる単純なノードアプリケーションを作成しようとしています。デフォルトでは、プロフィールのURLはuser1.myappname.comのようにする必要がありますが、ユーザーがカスタムドメイン入力を入力してこのドメインを自分のアプリのIPアドレスに設定すると、このカスタムドメインを次のように使用できるはずです:複数のドメイン、単一ノード(急行)アプリケーション

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

user1.myappname.com/someactionここで誰もがexpress.jsでこれを実装した経験を持っていますか?私は、カスタムドメインだけでなくサブドメインも意味します。あなたのパスは関係なく、ドメインが、これは簡単です何か同じではないので

はあなたに -M

答えて

6

ありがとうございます。エクスプレスルートメソッドに渡されたリクエストからホスト名を取得し、必要なルックアップを行います。ノードはドメインが何であるか気にせず、ドメインにサブドメイン用のCNAMEがあり、カスタムドメインがmyappname.comと同じIPアドレスを指している限り、ノードはすべての要求に同じ方法で応答します。

たとえば、あなた/ someactionルートに:

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

は、私はあなたがパスを設定しない場合、(サブドメインがメインドメインからのクッキーにアクセスしてみましょう)クッキーはクロスドメイン行かないことに、注意したいのですがそれが起こるようにする。これは簡単に行うことができますが、サブドメインを信頼できる必要があります。なぜなら、Cookie /セッション情報を読み取り/盗み出し、ハイジャックする可能性があるからです。 – japrescott

+0

あなたの答えをありがとう。 –

+0

@japrescottすべてのユーザーの管理がwww.myappname.com/adminにある場合はどうなりますか?サブドメインやカスタムドメインと競合しないので、おそらくクッキーの問題を解決します。 –

関連する問題