LDAP Health Monitor fails with reason "Payload timeout" in ALB version 30.2.1
search cancel

LDAP Health Monitor fails with reason "Payload timeout" in ALB version 30.2.1

book

Article ID: 375986

calendar_today

Updated On:

Products

VMware Avi Load Balancer

Issue/Introduction

After upgrading to 30.2.1, LDAP health monitors may fail causing the pool and virtual service to be marked down.

The response string from the LDAP server may show , "URL using bad/illegal format" or "URL rejected: Malformed input to a URL function" error

Cause

This is due to changes in a recent version of the curl library.

These changes result in an issue with special characters (such as spaces) in the Base DN or User DN.
They may also cause a "Payload Timeout" error even for a Base DN or User DN with no special characters.

Resolution

The workaround for this issue is to create an External health monitor to query the LDAP server.

In the Avi UI navigate to Templates > Profiles > Health Monitors
Click "Create"
Enter a name for the health monitor (ex. LDAP-External)
For "Type" choose "External"
In the section that says "Paste script code here" copy and paste the script below (modify the values for the base DN and password to match your environment)

#!/bin/bash
#curl -v $IP:$PORT >/run/hmuser/$HM_NAME.$IP.$PORT.out
if [[ $IP =~ : ]];
then curl -v ldap://[$IP]:$PORT/cn=users,dc=company,dc=com -u "cn=administrator,cn=users,dc=company,dc=com":"Password";
else curl -v ldap://$IP:$PORT/cn=users,dc=company,dc=com -u "cn=administrator,cn=users,dc=company,dc=com":"Password";
fi

Save the change.
Edit the pool, and change the health monitor to the new External monitor just created