LDAP 套接字保持活动状态

发布于 2024-07-09 18:45:18 字数 140 浏览 9 评论 0原文

我们正在使用 OpenLDAP 客户端库连接到 LDAP 服务器。 问题是,如果一段时间内没有任何活动,服务器(或中间的防火墙)就会断开 TCP 连接。

我们当前的“keep-alive”实现只是时不时地搜索baseDN - 有更好的想法吗?

We are using OpenLDAP client library to conect to an LDAP server. The problem is that if there is no activity for some time, server (or firewall in the middle) drops TCP connection.

Our current implementation of "keep-alive" just does search for baseDN from time to time - any better ideas ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

绅士风度i 2024-07-16 18:45:18

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

https:// /www.rfc-editor.org/rfc/rfc4511

LDAP Abandon might work:

if (ldap_abandon(ld, 0, sctrls, cctrls) != LDAP_SUCCESS)
    {
       /* handle ldap error */
    };

There was a discussion about this on the OpenLDAP mailing list:

http://www.openldap.org/lists/openldap-devel/200905/msg00008.html

In Brief:
The abandon request sends a message to the server, however the server does not send a response back to the client for abandon requests. Zero is not a valid MSGID for LDAP requests. Since the zero is an invalid MSGID and the server does not respond to abandon requests, in theory the server will ignore an abandon request for msgid zero. This would provide activity upon the TCP socket, preventing the firewall from dropping the connection.

See:

  • RFC 4511, Section 4.11: Abandon Operation
  • RFC 4511, Section 4.1.1.1: MessageID

https://www.rfc-editor.org/rfc/rfc4511

莫相离 2024-07-16 18:45:18

LDAP_OPT_RECONNECT 在 OpenLdap 中不可用

LDAP_OPT_RECONNECT is not available in OpenLdap

木格 2024-07-16 18:45:18

唯一的选择似乎是重新连接:

ldap_set_option( ld, LDAP_OPT_RECONNECT, LDAP_OPT_ON );

The only alternative seems to be reconnect:

ldap_set_option( ld, LDAP_OPT_RECONNECT, LDAP_OPT_ON );
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文