IIS 7でアプリケーションプールにカスタムアカウントを使用すると500エラー


11

Windows Server 2008 SP2上のIIS 7に静的ファイルのみがある非常にシンプルなサイトがあります。

静的ファイルにアクセスしようとすると、500エラーが発生します。HTMLファイルの名前をaspx拡張子に変更すると、正常に機能します。

アプリケーションプールの組み込みIDを使用する場合も、サイトは正常に機能します。この問題は、アプリケーションプールにカスタムアカウントを使用するように切り替えると発生します。ローカルとドメインの両方のアカウントを使用して、アプリケーションプールを実行しようとしました。

私はウェブサイトのディレクトリとファイルでこれらのアカウントを完全に制御しました。

トレースをオンにすると、次のエラーメッセージが表示されます 。ModuleName
:IIS Web Core
Notification:2
HttpStatus:500
HttpReason:Internal Server Error
HttpSubStatus:0
ErrorCode:2147943746
ConfigExceptionInfo
Notification:AUTHENTICATE_REQUEST
ErrorCode:Eso 無効です。(0x80070542)

私はエラーコードをグーグルで動かすことに全く運がありませんでした。

回答:


9

問題解決:ローカルセキュリティポリシーの「認証後にクライアントを偽装」からIIS_IUSRSグループが欠落していた。


おかげで私のために働いた!しかし、ここにさらに私のようなダミーのために段階的にそれを行う方法があります:スタート>ローカル>セキュリティポリシー>ローカルポリシー>ユーザー権利の割り当て>認証後にクライアントを偽装>ユーザーまたはグループの追加...> IIS_IUSRSを選択
Wowe

1

この仮想アプリケーションのアプリケーションプールを変更して、この新しいプールに個人のアクセス許可を与えることができます

特定のプールにアクセス許可を与えるには、ユーザー "IIS APPPOOL \ YOUR_POOL_NAME"にアクセス許可を与えるだけです


0

ブラウニーの答えに加えて(正解ですが、この権利をアプリプールアカウントに付与する必要があります)。IISがWCFクライアントを使用して呼び出すときにこのエラーを送信する場合(+ IISでWindows認証が有効になっている場合)、IISに与えられたNTLMトークンのフラグでは、呼び出し元になりすますことができない可能性があります。

クライアントの構成を次のように変更します(デフォルト)。

<behavior name="NewBehavior">
  <clientCredentials>
    <windows allowedImpersonationLevel="Identification" />
  </clientCredentials>
</behavior>

これに:

<behavior name="NewBehavior">
  <clientCredentials>
    <windows allowedImpersonationLevel="Impersonation" />
  </clientCredentials>
</behavior>

詳細については、この記事を確認してください:WCFにおける偽装と委任

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.