LDAPソケットキープアライブ
-
10-07-2019 - |
質問
OpenLDAPクライアントライブラリを使用して、LDAPサーバーに接続しています。問題は、しばらくの間アクティビティがない場合、サーバー(または中間のファイアウォール)がTCP接続をドロップすることです。
「キープアライブ」の現在の実装baseDNを時々検索するだけで、より良いアイデアはありますか?
解決 3
唯一の代替手段は再接続のようです:
ldap_set_option( ld, LDAP_OPT_RECONNECT, LDAP_OPT_ON );
他のヒント
LDAP放棄は機能する可能性があります:
if (ldap_abandon(ld, 0, sctrls, cctrls) != LDAP_SUCCESS)
{
/* handle ldap error */
};
OpenLDAPメーリングリストでこれに関する議論がありました:
http://www.openldap.org/lists/openldap- devel / 200905 / msg00008.html
概要: 放棄要求はサーバーにメッセージを送信しますが、サーバーは放棄要求に対する応答をクライアントに送り返しません。ゼロは、LDAP要求の有効なMSGIDではありません。ゼロは無効なMSGIDであり、サーバーは放棄要求に応答しないため、理論上、サーバーはmsgidゼロの放棄要求を無視します。これにより、TCPソケットでアクティビティが提供され、ファイアウォールが接続をドロップするのを防ぎます。
参照:
- RFC 4511、セクション4.11:放棄操作
- RFC 4511、セクション4.1.1.1:MessageID
LDAP_OPT_RECONNECT
はOpenLdapでは使用できません
所属していません StackOverflow