KEMP LoadMaster: SSL-certifikat via ACME-proxy
KEMP LoadMaster har en inbyggd "Let's Encrypt"-integration som inte kan konfigureras mot FairSSLs ACME-server. En proxy-värd hämtar i stället certifikatet via FairSSL AutoDNS och överför det till KEMP via API:t. Varken KEMPs administrationsgränssnitt eller er DNS-leverantör behöver öppnas för extern åtkomst.
Versioner som stöds
| Plattform | Versioner | Körs på | ACME-klient |
|---|---|---|---|
| Kemp LoadMaster | VersionerLMOS 7.x och senare | Körs påEn Linux-server som skickar certifikatet till enheten | ACME-klientlego 5.0.4+ |
Så är lösningen uppbyggd
- ✓ En liten Linux-värd (ofta en befintlig administrationsserver) kör Lego.
- ✓ Lego hämtar certifikatet via FairSSL AutoDNS. Ingen åtkomst till DNS-leverantörens API behövs.
- ✓ En deploy-hook konverterar certifikatet till det format KEMP förväntar sig och anropar LoadMaster-API:t.
- ✓ KEMP importerar det nya certifikatet och uppdaterar de Virtual Services som ska använda det.
- ✓ cron eller systemd kör Lego dagligen. ARI styr förnyelsen.
Konfiguration
Steg 1: Skapa API-användare på KEMP
I LoadMasters webbgränssnitt går du till System Configuration → User Management och skapar en lokal
användare (till exempel acme-deploy) med All Permissions för SSL Certificates och
Virtual Services. Använd ett starkt lösenord och notera det, eftersom det sparas med inloggningsuppgifterna på
proxy-värden. Undanta användaren från eventuell 2FA, eftersom API-anrop inte stöder 2FA.
Steg 2: Installera Lego på proxy-värden
Använd Lego v5.0.4 eller senare. Kommandona nedan hämtar den senaste versionen och installerar binären
som /usr/local/bin/lego.
arch=$(dpkg --print-architecture)
case "$arch" in amd64|arm64) ;; *) echo "Justera arch"; exit 1 ;; esac
version=$(curl -fsSL https://api.github.com/repos/go-acme/lego/releases/latest \
| sed -n 's/.*"tag_name": "\(v[^"]*\)".*/\1/p' | head -1)
curl -fL "https://github.com/go-acme/lego/releases/download/${version}/lego_${version}_linux_${arch}.tar.gz" \
| sudo tar -xz -C /usr/local/bin lego
sudo install -d -m 0700 /etc/ssl/kemp Steg 3: Skapa deploy-skript
Skriptet bygger en PEM-fil (certifikat, CA-kedja och privat nyckel), laddar upp den till KEMP via
/access/addcert och binder den till den angivna Virtual Service via /access/modvs.
sudo tee /usr/local/bin/kemp-deploy.sh > /dev/null << 'SCRIPT'
#!/bin/bash
set -euo pipefail
KEMP_HOST="lb.exempel.se"
KEMP_USER="acme-deploy"
KEMP_PASS="DITT_API_LOSENORD"
CERT_NAME="fairssl-acme-cert"
VS_INDEX="1" # Virtual Service ID (slå upp i KEMP-UI under "Virtual Services")
CERT="$LEGO_HOOK_CERT_PATH"
KEY="$LEGO_HOOK_CERT_KEY_PATH"
BUNDLE=$(mktemp)
cat "$CERT" "$KEY" > "$BUNDLE"
# Ladda upp (replace=1 skriver över ett befintligt certifikat med samma namn)
curl -sS -k --user "$KEMP_USER:$KEMP_PASS" \
--data-binary "@$BUNDLE" \
"https://$KEMP_HOST/access/addcert?cert=$CERT_NAME&replace=1"
# Bind certifikatet till Virtual Service
curl -sS -k --user "$KEMP_USER:$KEMP_PASS" \
"https://$KEMP_HOST/access/modvs?vs=$VS_INDEX&certfile=$CERT_NAME"
rm -f "$BUNDLE"
SCRIPT
sudo chmod +x /usr/local/bin/kemp-deploy.sh Steg 4: Utfärda certifikatet
Se till att domänen är konfigurerad för FairSSL AutoDNS. Kör Lego en gång med EAB-nycklarna.
sudo /usr/local/bin/lego run \
--domains "lb.exempel.se" \
--server https://fairssl.dk/acme \
--eab --eab.kid DIN_EAB_KID --eab.hmac DIN_EAB_HMAC \
--accept-tos --email acme-client@fairssl.dk \
--http --http.webroot "/var/www/html" \
--path "/etc/ssl/kemp" \
--deploy-hook "/usr/local/bin/kemp-deploy.sh" Steg 5: Schemalägg dagligen med cron
# /etc/cron.d/lego-kemp
17 04 * * * root /usr/local/bin/lego run \
--domains "lb.exempel.se" \
--server https://fairssl.dk/acme \
--accept-tos --email acme-client@fairssl.dk \
--http --http.webroot "/var/www/html" \
--path "/etc/ssl/kemp" \
--renew-days 7 \
--deploy-hook "/usr/local/bin/kemp-deploy.sh" Steg 6: Verifiera
- I LoadMasters webbgränssnitt, under Certificates & Security → SSL Certificates: kontrollera att
fairssl-acme-certfinns med det nya utgångsdatumet. - Under Virtual Services: kontrollera att den valda Virtual Service använder det nya certifikatet.
- Testa utifrån med FairSSLs SSL-skanner.
- Har du tidigare använt KEMPs inbyggda Let's Encrypt för samma Virtual Service inaktiverar du den, så att certifikatet inte förnyas från två håll.
Certifikat på många servrar och appliances
Ett offentligt SSL-certifikat får vara giltigt i högst 199 dagar nu, 99 dagar senast 2027-03-15 och 46 dagar senast 2029-03-15. Varje certifikat måste då bytas minst två gånger om året nu och minst åtta gånger om året från 2029, på varje server, brandvägg och lastbalanserare där det används. sslbrain från FairSSL körs som en appliance i ert eget nätverk och förnyar och installerar certifikaten från ett ställe, även på utrustning utan agent.
Så förnyar och installerar sslbrain certifikat på Kemp LoadMaster(öppnar sslbrain.com i en ny flik)Vanliga frågor
Hitta svar på de vanligaste frågorna om SSL-certifikat och FairSSL.
_dnsauth.<din-domän> mot vår DNS-server, och FairSSL svarar på utmaningen. KEMP behöver därför varken exponera port 80 mot internet eller ha åtkomst till DNS-leverantörens API. För KEMP kommer certifikatet bara fram som en färdig PEM-fil, klar att importera.POST /access/addcert för att importera det nya certifikatet och POST /access/modvs för varje Virtual Service som ska använda det.Redo att automatisera KEMP-certifikat?
Skapa ett gratis konto och beställ ditt första certifikat. Ett DV-certifikat utfärdas på under 2 minuter.