SSL-certifikaternes maksimale levetid reduceres til 200 dage fra marts 2026. Læs mere →

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-cert findes 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.

KEMP LoadMaster har en indbygget "Let's Encrypt"-integration, men den peger fast på Let's Encrypts produktionsserver, og endpointet kan ikke skiftes til FairSSLs ACME-server. Derfor bruger vi proxy-løsningen: en ekstern Linux- eller Windows-vært udsteder certifikatet og overfører det til KEMP via KEMPs API.
Selve ACME DNS-01-challengen besvares af FairSSL AutoDNS. Vi har en permanent CNAME viderestilling fra _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.
Denne vejledning forudsætter LoadMaster firmware 7.2.48 eller nyere. Vi har testet flowet på 7.2.55+. Ældre firmware kan kræve manuel upload via webgrænsefladen, hvilket går imod hele pointen med automatisering.
En dedikeret API-bruger med rettighederne All Permissions for SSL Certificates og Real Servers / Virtual Services. Sæt brugerens login-metode til Local User og giv den en stærk adgangskode. Hvis WUI-login er beskyttet af interaktiv 2FA, skal API-brugeren bruge en API-understøttet loginmetode, for eksempel API-nøgle, lokal bruger med adgangskode eller klientcertifikat.
Lego (eller simple-acme) kører dagligt på proxy-værten. Når ARI eller den indbyggede 7-dages fallback udløser fornyelse, hentes et nyt certifikat, og deploy-scriptet kalder KEMP-API'et: POST /access/addcert for at importere det nye certifikat og POST /access/modvs for hver Virtual Service, der skal bruge det nye certifikat.
Hvis du tidligere har brugt KEMPs indbyggede Let's Encrypt til de samme Virtual Services, så deaktivér den i KEMP-UI'et, så de to flows ikke konkurrerer om de samme certifikatbindinger og giver forvirrende resultater.

Klar til at automatisere KEMP-certifikater?

Opret en gratis konto og udsted dit første certifikat på under 10 minutter.