
O servidor está executando RHEL 7 e Apache 2.4.6; este é um problema bastante novo (cerca de uma semana). A intranet do meu departamento usa autenticação no ambiente Active Directory da universidade, e a autenticação para usuários finais leva mais de 30 segundos. Os carregamentos de página subsequentes são quase instantâneos e, depois de algum tempo (tempo limite, presumo), o problema está de volta.
<Directory /var/www/html/intranet>
AuthType Basic
AuthName "Restricted files"
AuthBasicProvider ldap
AuthLDAPBindDN CN=dept-binder,OU=Generic-Logon,OU=Generic,DC=example,DC=edu
AuthLDAPBindPassword lamepassword
AuthLDAPURL ldaps://ldap-ad.example.edu:636/dc=example,dc=edu?sAMAccountName?sub
<RequireAny>
require ldap-group CN=ug-dept-intranet,OU=Deoartment,OU=Dept-Groups,DC=example,DC=edu
</RequireAny>
</Directory>
Aqui estão algumas linhas relevantes de error_log:
AH02034: Initial (No.1) HTTPS request received for child 36 (server dept.example.edu:443)
AH01626: authorization result of Require ldap-group CN=ug-psy-employees,OU=Dynamic,OU=Psychology,OU=FSU-Dept-Groups,DC=fsu,DC=edu: denied (no authenticated user yet)
AH01626: authorization result of Require ldap-group CN=ug-dept-intranet,OU=Dept,OU=Dept-Groups,DC=example,DC=edu: denied (no authenticated user yet)
AH01691: auth_ldap authenticate: using URL ldaps://ldap-ad.example.edu:636/dc=example,dc=edu?sAMAccountName?sub
AH02001: Connection closed to child 11 with standard shutdown (server dept.example.edu:443)
# 37 seconds pass
AH01697: auth_ldap authenticate: accepting jsmith
AH01713: auth_ldap authorize: require group: testing for group membership in "CN=ug-dept-intranet,OU=Department,OU=Dept-Groups,DC=example,DC=edu"
AH01714: auth_ldap authorize: require group: testing for member: CN=jsmith,OU=PEOPLE,DC=example,DC=edu (CN=ug-dept-intranet,OU=Department,OU=Dept-Groups,DC=example,DC=edu)
AH01715: auth_ldap authorize: require group: authorization successful (attribute member) [Comparison true (adding to cache)][6 - Compare True]
Responder1
Tive exatamente o mesmo problema no Fedora 33 com Apache 2.4 e resolvi adicionando:
LDAPConnectionTimeout 1
para a configuração global do Apache: https://httpd.apache.org/docs/2.4/mod/mod_ldap.html
O parâmetro acima define o tempo limite da conexão LDAP para 1 segundo.
Estou usando LDAPS com TLS e suspeito que o atraso foi causado pela tentativa do Apache de resolver nomes ou verificar o certificado não qualificado do Active Directory/DC (auto-inscrito).
Responder2
se o seu diretório for grande (universidade, pode ser), as consultas poderão ser lentas imediatamente. Você precisa ajustá-los. Nenhuma solução mágica, mas algumas dicas:
- filtrar em atributos indexados
- tente usar a porta do catálogo global se os atributos estiverem listados como catálogo global replicado
- evite (se possível) pesquisas com sub escopo. É evidente que isto nem sempre é possível, mas muitas vezes é
Há mais listados nesteDocumento da Microsoft.
Podes tentardepuração mod_ldap, talvez você encontre algum problema óbvio dessa forma, cuidado com as credenciais que podem aparecer no log de depuração.