0

私の会社は最近トラフィックの急増に見舞われたため、負荷を処理するために追加のEC2インスタンスを起動しようとしました。残念ながら、これによりユーザーはCookieに問題を引き起こしました(つまり、資格情報を提供した後もサイトがログインを要求し続けました)。これは、Web.configファイルにマシンキーを設定しなかったためだと考えられます(各負荷分散マシンのWeb.configファイルは他の点では同一です)。

これで、Web.configに新しいマシンキー値を設定したくない位置になりました。これにより、カートにアイテムを追加した可能性のあるすべての匿名ユーザーがログアウトされます。スケーリングもサポートしたい。

だから、質問:

  1. マシンキーがユーザーが新しいCookieを必要としている原因であるという私たちの仮定は正しいですか?
  2. 他の負荷分散サーバーにコピーできるように、使用されている現在またはデフォルトのマシンキーを判別する方法はありますか?
  3. 2に失敗すると、匿名ユーザーのデータを失うことなく新しいマシンキーを設定する方法はありますか?
4

1 に答える 1

1

使用している認証方法については言及していませんが、フォーム認証の場合はそうです。マシンキーはファーム内のすべてのサーバー間で一致する必要があります。また、暗号化ビットを更新するパッチ(具体的にはasp.netセキュリティの脆弱性の更新)がいくつかあるため、すべてのマシンに同じようにパッチが適用されていることを確認する必要があります。

デフォルト構成を使用している場合、マシンキーはAutoGenerateに設定されている可能性があります。私の知る限り、自動生成されたマシンキーが何に設定されているかを明らかにする簡単な方法はありません。ただし、既存のサーバーにアクセスできるため、次の図に示すように、小さなリフレクションコードを使用してサーバーを見つけることができます。

http://aspnetresources.com/blog/how_to_read_auto_generated_machinekey

于 2011-05-16T21:51:03.453 に答える