0

Azure で実行されている .NET MVC 3、SQL Server アプリケーションがあります。2 つの Web ロール インスタンスと 1 つのワーカー ロール インスタンスがあります。

お客様は、当社のコンテンツを表示する iFrame をサイトに挿入できます。

このコンテンツを取得するために、会社の一意の識別子を受け入れる公開ページがあります。たとえば、StackOverflow は「http://myapplication.com/stack-overflow」を使用します。これにより、会社固有の html ページが返されます。

クライアント側の CName レコードをアプリケーションのコンテンツに直接マッピングするというアイデアが気に入っています。受け入れる必要があると私が理解していることから、StackOverflowの場合、「stack-overflow.myapplication.com」はサブディレクトリを抽出し、「http://myapplication.com/stack-overflow」でコンテンツを返します。

これが Azure でどのように行われるかについて、誰かが光を当てることができますか?

4

1 に答える 1

2

Azure の場合も、IIS がデプロイされたアプリケーションの場合も同じです。すべてのカスタム サブドメインを CNAME として cloudapp.net ドメインにマップするだけです。サービス定義ファイルや構成ファイルは何も変更しないでください。そして、アプリケーション内で、以下をチェックする単純なロジックを用意します。

Request.Headers["host"]

このヘッダーには完全なホスト名 (つまり、stack-overflow.myapplication.com) が含まれます。URL を解析し、サブドメインを抽出して、適切なリソースにマップできるようになりました。

もう 1 つのアプローチは、IIS の URL 書き換えモジュールを使用して、Apache Web サーバーと mod_rewrite で行ったのと同様のものを構築することです (まさにあなたが必要としているものだと思います)。私の Apache 書き換えルール 1:1 を IIS 書き換えモジュールに使用できるかどうかはわかりませんが、出発点としてはよいでしょう。現在 (Azure SDK 1.3 以降)、URL 書き換えモジュールは Azure フル IIS で既定で有効になっていることに注意してください)。

于 2012-01-31T10:05:34.767 に答える