2024-11-10 14:14:41.385 [notice] TLS :client: In state :hello received SERVER ALERT: Fatal - Unrecognized Name
Bug description
I'm configuring ejabberd to connect to LLDAP, whose connections are reverse proxied through a TLS-terminating TCP router (Traefik). The cert issued is a wildcard DNS-01 challenge type.
With strict SNI checking turned on (tls.options.default.sniStrict=true), LDAP fails with the above error.
Traefik's logs reveal the following line, which further indicate the issue:
<datetime> DBG github.com/traefik/traefik/v3/pkg/tls/tlsmanager.go:216 > TLS: strict SNI enabled - No certificate found for domain: "", closing connection
Workaround
Either disable strict SNI on Traefik router, which works as ldap_tls_verify is false by default:
<datetime> DBG github.com/traefik/traefik/v3/pkg/tls/tlsmanager.go:228 > Serving default certificate for request: ""
Or connect through plain LDAP in an isolated LAN (user-defined bridge network).
I'm not sure if sending hostname is the proper way to do LDAP. Please let me know if so.
Environment
erl +V
unsureConfiguration (only if needed): grep -Ev '^$|^\s*#' ejabberd.yml
Errors from error.log/crash.log
Bug description
I'm configuring ejabberd to connect to LLDAP, whose connections are reverse proxied through a TLS-terminating TCP router (Traefik). The cert issued is a wildcard DNS-01 challenge type.
With strict SNI checking turned on (
tls.options.default.sniStrict=true
), LDAP fails with the above error.Traefik's logs reveal the following line, which further indicate the issue:
Workaround
Either disable strict SNI on Traefik router, which works as
ldap_tls_verify
isfalse
by default:Or connect through plain LDAP in an isolated LAN (user-defined bridge network).
I'm not sure if sending hostname is the proper way to do LDAP. Please let me know if so.