2017-01-17 6 views
0

動的なホストのリストからの要求を受け入れるNodeJSを持つサーバーを構築しようとしています。たとえば、ドメイン"joesdomain.com""timsdomain.net"で別の顧客を登録させることができます。これらの値は、別のプロセスを介してデータベーステーブルに格納されます。 diet.jsがこれを処理することが私の希望でしたが、このユースケースをサポートしているかどうかはわかりません。私が見つけた例のほとんどは、mydomain.com/joesdomainやmydomain.com/timsdomainのようなサブドメインによく似ています。私は承認されたドメインのリストのためにデータベースを読んで、それから私のルートマッピングでこれらの値を使うことができると思いますか?NodeJSの動的ホスト

はここに私の予想流れです:アカウントの

  • カスタマーサインアップ、私たちは、ドメイン名を取得し、それが私たちのホストIPを指摘しています。
  • 新しいドメイン名を訪問した場合、NodeJSサーバーは要求を確認してからルーティングを処理します(同じルートの90%が予想されます)。

これが可能であれば、誰でも知っていますか?うまくいけば、私は正しい方向に向いています。私はこれらのドメインをマッピングするためだけにコードを修正してコードを再デプロイする必要はありません。

+0

ドメインリストからのリクエストを受け入れることはどういう意味ですか?要求は、必ずしもホストからではなく、IPアドレスからのものです。特定のIPアドレスがどのドメインに関連付けられているかを調べるために逆引きを行うことはできますが、多くのIPアドレスが企業に属していてドメインに関連付けられていないなど多くの点で問題があります。 – jfriend00

+0

あなたは単一のサーバーがドメイン一覧の要求を受け入れてhttp://joesdomain.comへのリクエストがあなたのサーバーに送られるようにしたいのですか?もしそうなら、それはそれらのドメインがDNSを介してあなたのサーバを指し示すことを要求し、あなたのサーバはHTTPヘッダーを介してどのドメインかを知ることができます。 – jfriend00

+0

はい、それは私が説明しようとしていたものです。したがって、joesdomain.comが自分のIPに解決し、NodeJSがリクエストを取得した場合は、HTTPヘッダーを調べて起点を確認する必要がありますか?平均的なユーザーにとっては、ブラウザにURLを提供するだけで特別なことをする必要がありますか? – sonoerin

答えて

1

複数の異なるドメインをサーバーに向ける場合は、サーバーはHTTP要求のOrigin headerを見て、要求がどのドメインに送られたかを知ることができます。ブラウザは、エンドユーザーが何もしなくても自動的にそのヘッダーを設定します。

あなたはthis specにセクション5を見れば、それは言う:

ユーザエージェントはHTTP要求を発行するたびに、ユーザーエージェントは正確に に準拠して、「起源」という名前のHTTPヘッダを 含まなければなりませんABNF [RFC5234]文法の後:

+0

自分のホストを指している1000のユニークなドメインがあることを望むなら、このNodeJSインスタンス(dietjsまたはturtle.ioを使用)によってすべて提供されるのは、ホストごとの接続制限の問題です。まだありません) – sonoerin

+1

@sonoerin - サーバー側にはホスト単位のものはありません。それらは、受信した個々のHTTPリクエストで、サーバーが元のヘッダーを調べて、どのドメインを対象としているかを確認します。さて、あなたのサーバー上の起源を調べて、その要求に対して何をすべきかを判断しなければならない場合、それはあなたのサーバー上で効率的なホストルックアップスキームを持つようになります。 1つのブラウザにはホストごとの接続制限がありますが、サーバーはありません。これらの接続はさまざまなブラウザから来ていると仮定しているので、ブラウザごとのホスト接続の制限は許されません。 – jfriend00

+0

ありがとう@ jfriend00! – sonoerin

関連する問題