1

複数のホストで Web サイトをセットアップしようとしていますが、これらのアプリケーションは App Fabric Caching フレームワークを利用しています。

Machine1で(XML ではなく) SQL Server を使用して App Fabric をセットアップし、「NT Authority\Network Service」ユーザーを使用して App Fabric を構成しました。「ネットワークサービス」をアプリケーションプールIDとして設定して、同じマシンにWebサイトをセットアップしました。「grant-CacheAllowedClientAccount」コマンドを使用して、「ネットワーク サービス」ユーザーにキャッシュ ストアへのアクセス許可を付与しました。Web サイトは正常に機能し、データをキャッシュに追加/編集/削除できます。すべてがスムーズに実行されます。

ただし、まったく同じ IIS およびアプリケーション プール設定を使用して別のマシン ( Machine2 ) で同じアプリケーションをホストしようとすると、アプリケーションは次のエラーで失敗します。

一時的な障害があります。後で再試行してください。(指定された 1 つ以上のキャッシュ サーバーが使用できません。これは、ネットワークまたはサーバーのビジー状態が原因である可能性があります。オンプレミスのキャッシュ クラスターの場合は、次の条件も確認してください。このクライアント アカウントにセキュリティ アクセス許可が付与されていることを確認し、AppFabric Caching Service は、すべてのキャッシュ ホストでファイアウォールを介して許可されます。また、サーバーの MaxBufferSize は、クライアントから送信されたシリアル化されたオブジェクトのサイズ以上である必要があります。)

全員に権限を付与すると、問題なく動作しますが、それは優れた解決策ではありません。

両方のマシンがドメインに常駐しています。

これについて何か意見をいただけませんか?

4

2 に答える 2

4

machine1 で以下のコマンドを実行するのが足りないようです

Grant-CacheAllowedClientAccount -アカウント "DOMAIN1\Machine2$"

これを実行すると、NETWORK SERVICE アカウントの machine2 で実行されているすべてのサービスが、Machine1 でホストされている Appfabric キャッシュにアクセスできるようになります。

ここで詳細に説明されています - http://msdn.microsoft.com/en-us/library/ff921012(v=azure.10).aspx

クライアント アプリケーションがビルトイン コンピューター アカウント ("NT Authority\Network Service" など) として実行されている場合は、コンピューターにキャッシュ クラスターへのアクセスを許可できることに注意してください。これを行うには、ドメイン名とマシン名にドル記号を追加したマシン アカウントを使用します。次の例では、DOMAIN1 という名前のドメイン内の Server1 という名前のマシンにキャッシュ クラスター アクセスを許可します。

Grant-CacheAllowedClientAccount -アカウント "NT Authority\Network Service"

于 2012-12-13T07:34:40.863 に答える
2

もう 1 つの解決策は、クライアント構成と AppFabric キャッシュ サービス構成の両方で、セキュリティと保護のレベルを [なし] に設定することです。

web.config/app.config ファイル内

<dataCacheClient>
<securityProperties mode="None" protectionLevel="None"/>
<hosts>
  <host   name="XXXX" cachePort="22233"/>
</hosts>

AppFabric キャッシュ サービス構成ファイル内

 <advancedProperties>
        <securityProperties mode="None" protectionLevel="None" />
 </advancedProperties>
于 2013-05-20T06:17:30.127 に答える