为什么通过LDAP对Artifactory进行身份验证会超时(例如10秒后)?
默认情况下,Artifactory与LDAP服务器的连接超时时间为10秒。在大多数情况下,10秒的超时时间就足够了,我们强烈建议了解为什么Artifactory和LDAP服务器之间的超时会不时发生。如果LDAP搜索在10秒内没有返回结果,Artifactory将报错如下:
[ERROR] (o.a.a.l.p.LdapGroupProviderImpl:190) -在使用静态策略检索LDAP组时发生错误,org.springframework.ldap.UncategorizedLdapException:在LDAP处理过程中发生未分类异常;嵌套异常javax.naming.NamingException: LDAPresponse read timed out, timeout used:10000ms.;剩余名称'ou=exchange_objects,dc=joshua et,dc=global,dc=joshua,dc=com'
当超时问题发生时,您的Artifactory服务器可能在超过10秒的时间内无法从LDAP服务器获得响应。当发生此问题时,请通过检查Artifactory服务器和LDAP服务器之间的网络来验证这一点。你可以在他们之间进行网络追踪以加速调查。
另外,请考虑使用Artifactory LDAP设置中的“search base”来缩小您的Artifactory LDAP搜索范围。Artifactory中的Search Base是相对于LDAP URL中的基本DN进行搜索的上下文名称。请参阅我们的维基有关详细信息,并向LDAP管理员寻求帮助。
或者,您可以增加设置为的LDAP套接字超时值artifactory.system.properties,例如20秒(20000毫秒)
artifactory.security.ldap.socket.timeoutMillis = 20000
请注意,您需要在进行更改后重新启动Artifactory。
请注意,我们推荐使用Artifactory的本地用户进行CI构建,而不是LDAP用户进行构建,原因如下:
—比LDAP登录速度快
—“LDAP密码”策略不会修改“密码”