KEMP LoadMaster: SSL-certifikat via ACME proxy
KEMP LoadMaster har en indbygget "Let\'s Encrypt"-integration, der ikke kan konfigureres til FairSSLs ACME-server. Vi bruger en proxy-vært til at udstede certifikatet via FairSSL AutoDNS og overføre det til KEMP via API\'et. Hverken KEMPs management-interface eller jeres DNS-udbyder behøver at åbnes særskilt.
Sådan er løsningen sat op
- ✓ En lille Linux-vært (typisk en eksisterende management-server) kører Lego.
- ✓ Lego udsteder certifikatet via FairSSL AutoDNS. Ingen DNS-API-adgang nødvendig.
- ✓ Et deploy-hook konverterer certifikatet til KEMPs forventede format og kalder LoadMaster-API\'et.
- ✓ KEMP importerer det nye certifikat og opdaterer de Virtual Services, der skal bruge det.
- ✓ Cron eller systemd kører Lego dagligt. ARI styrer fornyelse.
Opsætning
Trin 1: Opret API-bruger på KEMP
I LoadMaster-UI\'et: gå til System Configuration → User Management og opret en lokal
bruger (fx acme-deploy) med All Permissions for SSL Certificates og Virtual
Services. Brug et stærkt password og noter det - vi gemmer det i en credentials-fil på proxy-værten.
Undtag brugeren fra eventuel 2FA, da API-kald ikke understøtter 2FA.
Trin 2: Installer Lego på proxy-værten
Brug Lego v5.0.4 eller nyere. Følgende kommando henter den nyeste version og installerer binæren under
/usr/local/bin/lego.
arch=$(dpkg --print-architecture)
case "$arch" in amd64|arm64) ;; *) echo "Ret 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 Trin 3: Opret deploy-script
Scriptet bygger et PEM-bundle (certifikat + CA-kæde + privat nøgle), uploader det til KEMP via
/access/addcert og binder det til den angivne Virtual Service via /access/modvs.
sudo tee /usr/local/bin/kemp-deploy.sh > /dev/null << 'SCRIPT'
#!/bin/bash
set -euo pipefail
KEMP_HOST="lb.eksempel.dk"
KEMP_USER="acme-deploy"
KEMP_PASS="DIT_API_KODE"
CERT_NAME="fairssl-acme-cert"
VS_INDEX="1" # Virtual Service ID (slå op i KEMP-UI under "Virtual Services")
CERT="$LEGO_HOOK_CERT_PATH"
KEY="$LEGO_HOOK_CERT_KEY_PATH"
BUNDLE=$(mktemp)
cat "$CERT" "$KEY" > "$BUNDLE"
# Upload (replace=1 overskriver et eksisterende cert med samme navn)
curl -sS -k --user "$KEMP_USER:$KEMP_PASS" \
--data-binary "@$BUNDLE" \
"https://$KEMP_HOST/access/addcert?cert=$CERT_NAME&replace=1"
# Bind certifikatet til 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 Trin 4: Udsted certifikatet
Sørg for at domænet er konfigureret til FairSSL AutoDNS. Kør Lego en gang med EAB-nøglerne.
sudo /usr/local/bin/lego run \
--domains "lb.eksempel.dk" \
--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" Trin 5: Planlæg dagligt med cron
# /etc/cron.d/lego-kemp
17 04 * * * root /usr/local/bin/lego run \
--domains "lb.eksempel.dk" \
--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" Trin 6: Verificér
- I LoadMaster-UI\'et under Certificates & Security → SSL Certificates: bekræft at
fairssl-acme-certfindes med den nye udløbsdato. - Under Virtual Services: bekræft at den valgte VS bruger det nye certifikat.
- Test offentligt med FairSSLs SSL-scanner.
- Hvis du tidligere brugte KEMPs indbyggede Let\'s Encrypt på samme VS, så deaktivér den for at undgå parallel fornyelse.
Ofte stillede spørgsmål
Find svar på de mest almindelige spørgsmål om SSL certifikater og FairSSL.
_dnsauth.<dit-domæne> til vores DNS-server, og FairSSL svarer på challengen. KEMP behøver derfor hverken at eksponere port 80 mod internettet eller at få adgang til din DNS-udbyders API. Set fra KEMPs side ankommer certifikatet bare som et færdigt PEM, klar til import.POST /access/addcert for at importere det nye certifikat og POST /access/modvs for hver Virtual Service, der skal bruge det nye certifikat.Klar til at automatisere KEMP-certifikater?
Opret en gratis konto og udsted dit første certifikat på under 10 minutter.