0

フロント エンド サーバーから Web サービスを呼び出しているときに 401 の無許可の例外が発生しますが、アプリ サーバーでは同じコードが正常に機能します。

これを確認するために、Web サービスを呼び出すコンソール アプリケーションを作成しました。アプリサーバーからサービスを呼び出すと、正常に動作しますが、fe サーバーでも同じように失敗します。

FE サーバーで以下のコードが実行されない動作を発見しました。

ServicePointManager.ServerCertificateValidationCallback += new RemoteCertificateValidationCallback(ValidateRemoteCertificate);

(ValidateRemoteCertificate メソッドにいくつかのコメントを入れました。フロント エンド サーバーではなく、アプリ サーバーに表示されるメッセージを確認できます)

  1. すべての証明書は FE とアプリ サーバーの両方で同じです
  2. 同じユーザー資格情報で実行しています。

以前に同じ問題に直面した人はいますか、それとも構成を確認する必要がありますか?

4

1 に答える 1

0

401 は通常、SSL 証明書ではなく、サービスへのアクセスに関係しています。次のいくつかを確認する必要があります

匿名を利用する場合

  • IIS - 認証 - Web アプリケーションで匿名認証が有効になっていることを確認します。
  • IUSR permerssion が、使用しているフォルダーのアクセス許可にあることを確認します

窓認証を利用する場合

  • IIS - 認証 - Web アプリケーションで Windows 認証が有効になっていることを確認します。
  • IIS_IUSRS permerssion が、使用しているフォルダーのアクセス許可と、アクセスしたいユーザーの役割にあることを確認してください。
  • アプリケーション プールがネットワーク サービスまたは委任されたユーザー アカウントを使用していることを確認し、kerberos を使用するように正しく設定してください。

お役に立てれば。

于 2013-06-05T08:08:49.283 に答える