2

現在開発中の Web アプリケーションの今後のバージョンでは、1 つのサイトから複数のドメインを提供する必要があります。サイトのコードは個々のドメインを認識し、それに応じてコンテンツを変更します。クライアントはサイトに新しいドメインを追加できるため、サービスを提供するすべてのドメインを把握しているわけではありません。コーディング部分については、私はその方法を知っています。クライアントがドメインを追加すると、対応するエントリがデータベースに作成され、表示されるコンテンツ セットを制御するキーとして機能します。

問題は、私はシステム管理が苦手だということです。サーバーは、この webapp に関係のない多数の異なるサイトを既にホストしているため、サーバーの IP にヒットするすべてのドメインが上記のコードを通過できる状況ではありません。ドメインが前もってわかっていれば、サーバーの IP を指定するだけで済み、IIS でバインディングを作成してそれぞれを処理できます。ただ、事前にドメインがわからないので、かなり迷っています。IIS7 サーバーがこの状況をサポートできるようにするにはどうすればよいですか?

4

2 に答える 2

3

少し調べてみると、これにはいくつかのオプションが見つかりました。

1) コードへの
組み込み おそらく最良のオプションは 、IIS6およびIIS7でプログラムによってバインディングを作成することです。このようにして、すべてが webapp に統合されます。つまり、アプリの外で面倒なことはありません。アプリ自体にもう少し作業が必要ですが、物事をきれいに保ち、このアクションに関するすべての機能を単一のコードベース内に保持することの利点は、ほぼ間違いなく価値があります。

2) PowerShell
もう 1 つのオプションは、データベースへの変更を検出するスクリプトに基づいて、powershell がこのような処理を行うようにスクリプトをセットアップすることです。これもうまく機能しますが、維持するコードベースが 2 つ作成されるという欠点があります。

3)ドメインバインディングを削除する
この回答IIS の webapp のバインディングから既存のドメインを削除しようとしました。この変更を行うと、IP アドレスにアクセスするだけで webapp にアクセスできるようになりました (そのため、バインディングは問題ではなくなりました)。また、これまでにこの Web アプリケーション用に設定した 1 つのドメインも、目的のサイトに到達しています。そのため、IIS のバインドにホスト/ドメインがリストされていないという単純な解決策があるようです。1 つのサイトだけがこれを行う限り、別のバインディングに一致しないすべてのトラフィックがそのサイトにロードされます。ここでの大きな利点は、上記のどのコーディング ソリューションよりも時間と労力がかからないことです。欠点は、サーバー上でこの方法を実行できるのは 1 つのサイトのみであり、認識されたドメインのコンテンツのみを提供するようにサーバーをロックすることはできなくなることです。

于 2012-05-18T14:33:43.133 に答える
0

サーバーに追加の IP アドレスを追加することは可能ですか?

このようにして、IIS にこの IP アドレスのすべての要求を処理させ、これらの要求に対してのみロジックを実行させることができます。既存のウェブサイトはそのままにしておきます。

于 2012-05-18T14:05:14.647 に答える