3

Auto-Scalingはバッファ期間を許可しないか、ダウンオートスケーリングのためにオフになるようにスケジュールされているインスタンスに「新しいリクエスト」のみが着信することを許可しないほどインテリジェントではないため、スティッキーの使用を避けようとしています-ELBによって提供されるセッション。そうしないと、この動作により、一部の顧客にログイン画面が表示されます。

Webサイトおよびその他のRESTfulWebサービスはIIS7で実行されています。このWebサイトは、従来のフォームベースの認証(MVC3に組み込まれているメンバーシッププロバイダー)を使用していますが、間もなくカスタムメンバーシッププロバイダーに移行して、Cookieを確認し、復号化してから判断を下します。RESTful Webサービスは、すでにカスタムメンバーシッププロバイダーを使用しています。

このような状況では、ELBを介したスティッキーセッションを使用せずに取得できないWebサイトだと思います。

RESTful WebサービスのELBは、要求ごとにCookieを個別に監視して、暗号化された値を持つ認証トークンが存在するかどうかを確認するため、非スティッキーに構成できます。ただし、ここでの問題は、FormsAuthentication.EnryptメソッドとFormsAuthentication.Decryptメソッドであり、内部でMachineKeysを使用します。右 ?!そうでない場合は問題ありませんが、問題がない場合は、EC2の自動スケーリングされたインスタンス間でマシンキーを同期する方法はありますか?

4

2 に答える 2

5

このためのベスト プラクティスは、マシン キーを生成し、web.config ファイルに配置することです。そうすれば、自動スケーリングがインスタンスを開始および停止するときに、キーは常に一定になり、実際のインスタンスに依存しなくなります。

于 2012-10-07T08:01:21.390 に答える
0

推奨される Web サイト ( http://aspnetresources.com/tools/machineKey )がハッキングされているように見えるため、代わりに次の手順を使用することをお勧めします。

  1. IIS マネージャーを開く
  2. 管理しているウェブサイトを選択してください
  3. ASP.NET セクションで、選択しますMachine Key(このセクションが表示されない場合は以下をお読みください)。
  4. チェックを外しAutomatically generate at runtimeGenerate unique keys for each application
  5. [Generate Keysアクション] メニューで をクリックし、次に をクリックします。Apply
  6. を開き、タグを Web ファーム内の他の Web サーバーにweb.configコピーして、すべてが同じ machineKey を使用するようにします。<machineKey>

さらに、IP アドレスと生成されたマシン キーをログに記録する Web サイトはありません (冷笑的である場合)。


IIS マネージャーに ASP.NET セクションがない場合は、次の手順を使用して有効にすることができます ( https://serverfault.com/questions/129714/asp-net-area-in-iis-7から)。 -on-windows-2008 ):

Windows 7では、[コントロール パネル] -> [プログラム] -> [プログラムと機能] -> [Windows の機能の有効化または無効化] から ASP.NET を有効にできます。[インターネット インフォメーション サービス] -> [World Wide Web サービス] -> [アプリケーション開発機能] を展開し、[ASP.NET] をクリックします。

Windows Server 2008では、サーバー マネージャーを開く -> [役割] をクリックします -> [役割の追加] をクリックします -> [Web サーバー (IIS)] を選択します -> [役割サービス] で [ASP.NET] をクリックします。

于 2015-11-12T17:21:40.723 に答える