为什么通过LDAP对Artifactory的身份验证超时(例如,在10秒后)?

JFrog支持
2023-01-22十一10

默认情况下,Artifactory使用到LDAP服务器的10秒连接超时。在大多数情况下,10秒的超时时间就足够了,我们强烈建议查看Artifactory和LDAP服务器之间的超时为什么会不时发生。如果LDAP搜索在10秒内没有返回结果,Artifactory将出现如下错误:


[ERROR] (o.a.a.l.p.LdapGroupProviderImpl:190) -在检索策略为STATIC的LDAP组时发生错误,org.springframework.ldap.UncategorizedLdapException:在LDAP处理期间发生未分类异常;嵌套异常是javax.naming.NamingException: LDAPresponse read timed out, timeout used:10000ms.;剩余名称'ou=exchange_objects,dc=joshua,dc=global,dc=joshua,dc=com'


当超时问题发生时,Artifactory服务器可能在超过10秒的时间内无法从LDAP服务器获得响应。当发生此问题时,请通过检查Artifactory服务器和LDAP服务器之间的网络来验证这一点。你可以在他们之间进行网络追踪以加快调查。


另外,请考虑通过在Artifactory的LDAP设置中使用“search base”来缩小Artifactory LDAP搜索范围。Artifactory中的搜索基是相对于LDAP URL中的基本DN进行搜索的上下文名称。请参阅我们的维基有关详细信息,并咨询您的LDAP管理员以获得帮助。


或者,您可以增加设置的LDAP套接字超时值artifactory.system.properties,例如到20秒(20000毫秒)

artifactory.security.ldap.socket.timeoutMillis = 20000

请注意,在进行更改后需要重新启动Artifactory。

请注意,我们建议使用Artifactory的本地用户进行CI构建,而不是使用LDAP用户进行构建,原因如下:

—比LDAP登录速度快

—LDAP密码策略不能修改密码