1

認証に LDAP を使用するアプリケーションがあります。アプリケーションは、F5 を使用して負荷分散された構成で 4 つの MiddleWare サーバーにデプロイされます。AD ストアには 8 つのドメイン コントローラーがありますが、すべての MW サーバーで、ActiveDirectory に到達できないことを示しているように見えるエラーが毎日発生しています。ほとんどの場合、ユーザー ログオンのピーク時にユーザーによって報告されますが、1 日を通して他の時間帯にも発生します。LDAPS と LDAP にバインドする場合、エラー メッセージのテキストはわずかに異なりますが、スタック トレースは同じです。

エラーメッセージ:

  • (LDAPS) - 「サーバーが動作していません。(0)」
  • (LDAP) - 「ディレクトリ サービスを利用できません。(0)」

可能なすべての構成オプションを試しましたが、エラーは引き続き発生します

  • セキュア/非セキュア DC に接続 (ポート 636/389)
  • サーバー/サーバーレス バインドを使用して接続する

すべての調査の後、ユーザーにエラーをスローする前に、プール内の各 DC でバインド操作を 1 回再試行するコード変更を実装する方向に進んでいます。

これが機能する方法は、アプリケーションの起動時に、アプリケーションのディレクトリ サービス アクセス コンポーネントが次のことを行うことです。

サイト (および、必要に応じて隣接サイト) 内のすべてのドメイン コントローラーのリストを作成します。一連のテストを実行して、接続を検証します (ping、389/3268/636 テスト)。これにより、それが DC、GC、または RODC であるかどうかも確認できます。簡単なクエリを実行して、ディレクトリ サービスが機能しており、認証が機能していることを確認します。既知の正常なドメイン コントローラーのリストと、オフライン ドメイン コントローラーのリストを保存します。

次に、バインドを実行するときにこれらの既知の適切なサーバーを使用し、サーバーをバインド パスに組み込みます。例外が発生し、それが DC の問題 (サーバーが動作していない、ビジー、タイムアウトなど) を示すタイプの 1 つである場合、その DC をオフライン リストに追加し、他の DC のいずれかを使用して操作を試みます。

このアプローチは実行可能なオプションですか? トレードオフはありますか?Wireshark データの分析が根本原因の特定に役立つと思いますか? MW サーバーで TCP/UDP ポートが使用できないことと関係がありますか?

4

0 に答える 0