Added
auth_ldaptakes variables, and a value ofoffturns the check off for
the request, asauth_basicdoes: ageoormapvariable can exempt
clients or requests withoutif(#77, #238, PR #257). Quotes
and backslashes in the realm are escaped.- Every denied login is logged with the login, the server and the reason
(wrong password, no such user, requirements not met, cached denial),
never the password, so that tools such as fail2ban can use the error
log (#171). Control characters in the login are escaped. binddn_passwd_filereads the password ofbinddnfrom a file of its own,
such as a container secret (#105, #217).
Changed
- The error log lines of a failed login now name the login and the server:
User bind failed for "<login>" on server "<name>" (49: ...)instead of
User bind failed (49: ...), andCould not find user DN for "<login>" on server "<name>"instead ofCould not find user DN. Update log
filters that match the old text. - A second
auth_ldapin the same block failsnginx -twith
"is duplicate"; the last one used to win silently.
Fixed
- With several servers in
auth_ldap_servers, a server whose connections
were still being opened, as right after a worker started or after the
server closed an idle connection, was skipped as if it were unreachable:
the request went to the next server, or got503when that one denied.
A server is now skipped only once a connection to it has failed.
Full list of changes: v1.0.1...v1.1.0