
Auf dem Server laufen RHEL 7 und Apache 2.4.6; das ist ein ziemlich neues (etwa eine Woche altes) Problem. Das Intranet meiner Abteilung verwendet eine Authentifizierung gegenüber der Active Directory-Umgebung der Universität, und die Authentifizierung für Endbenutzer dauert über 30 Sekunden. Nachfolgende Seiten werden nahezu sofort geladen, und nach einiger Zeit (Timeout, nehme ich an) ist das Problem wieder da.
<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>
Hier sind einige relevante Zeilen aus 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]
Antwort1
Ich hatte genau das gleiche Problem unter Fedora 33 mit Apache 2.4 und habe es durch Hinzufügen von: gelöst.
LDAPConnectionTimeout 1
zur globalen Apache-Konfiguration: https://httpd.apache.org/docs/2.4/mod/mod_ldap.html
Der obige Parameter setzt das LDAP-Verbindungstimeout auf 1 Sekunde.
Ich verwende LDAPS mit TLS und vermute, dass die Verzögerung dadurch verursacht wurde, dass Apache versucht hat, Namen aufzulösen oder ein nicht qualifiziertes (selbst registriertes) Active Directory/DC-Zertifikat zu überprüfen.
Antwort2
Wenn Ihr Verzeichnis groß ist (bei einer Universität könnte es das sein), können die Abfragen von vornherein langsam sein. Sie müssen sie optimieren. Kein Allheilmittel, aber einige Hinweise:
- Filtern nach indizierten Attributen
- Versuchen Sie, den globalen Katalogport zu verwenden, wenn die Attribute als globaler Katalog repliziert aufgeführt sind
- Vermeiden Sie (wenn möglich) Teilsuchvorgänge. Dies ist natürlich nicht immer möglich, aber es ist oft
Weitere sind in diesem Artikel aufgeführt.Microsoft-Dokument.
Du kannst es versuchenDebuggen von mod_ldap, vielleicht können Sie auf diese Weise ein offensichtliches Problem finden. Vorsicht, Anmeldeinformationen könnten im Debug-Protokoll erscheinen.