SSL-automatisering
Linux & Kubernetes-konfiguration
FairSSL ACME fungerar med alla standard Linux ACME-klienter. Lego är vår rekommendation för de flesta Linux-servrar och CI/CD, och cert-manager hanterar Kubernetes-kluster.
Plattformar som stöds
Apache
Debian, Ubuntu, RHEL, CentOS
Lego eller Certbot med automatisk vhost-konfiguration. mod_ssl laddas om vid förnyelse.
Nginx
Debian, Ubuntu, Alpine, RHEL
Automatisk certifikatinstallation och reload. Fungerar med Lego, Certbot och acme.sh.
HAProxy
Load Balancer / Ingress
Certifikat utfärdas via DNS-01 (ingen port 80 krävs) och distribueras som PEM-filer till HAProxy.
Kubernetes →
cert-manager
Deklarativ certifikathantering i klustret. ACME Issuer med EAB pekar direkt mot FairSSL.
Docker
Traefik, Nginx Proxy Manager
Traefik har inbyggt ACME. Konfigureras med FairSSL directory URL, EAB och DNS challenge.
Generic Load Balancer
F5, NetScaler, Kemp
Lego eller acme.sh utfärdar certifikat via DNS-01. Distribution via skript eller API till lastbalanseraren.
macOS →
Intel och Apple Silicon
Automatisera certifikat på macOS med Lego och en LaunchDaemon. Fungerar på både Intel och Apple Silicon. Använd deploy-hook för att synka certifikatet till valfri tjänst.
Rekommenderad klient: Lego
Lego är en Go-baserad ACME-klient som fungerar på alla plattformar. FairSSL sponsrar projektet och samarbetar direkt med utvecklarna. Lego är vår rekommenderade klient för Linux och CI/CD-pipelines.
Varför Lego?
- ✓ Kompilerad Go-binär: inga beroenden
- ✓ Stödjer ARI (smart förnyelse)
- ✓ Stödjer EAB (FairSSL-kontobindning)
- ✓ 100+ DNS-leverantörer för DNS-01
- ✓ Plattformsoberoende (Linux, macOS, Windows)
Alternativ
- ✓ Certbot: det mest kända valet, Python-baserat
- ✓ acme.sh: rent shell-skript, ingen root
- ✓ Caddy: webbserver med inbyggt ACME
- ✓ Traefik: reverse proxy med ACME
Exempel
Lego: Utfärda certifikat (rekommenderad)
# Utfärda certifikat med Lego och FairSSL ACME
EAB_KID="dhgbKR8K73PgqAxIij6CDg" \
EAB_HMAC="QAx4jKmABqeYCXGZ1H7-eqG2qkPCtflHo5r51TWpebs" \
lego --server https://fairssl.dk/acme \
--email info@example.com \
--eab --kid "$EAB_KID" --hmac "$EAB_HMAC" \
--domains "example.com" --domains "www.example.com" \
--accept-tos --dns manual run Lego: Automatisk förnyelse via cron
# Installera som dagligt cron-jobb. Lego stödjer ARI och frågar ACME-servern dagligen om certifikatet bör förnyas.
32 04 * * * /usr/local/bin/lego --server https://fairssl.dk/acme \
--domains "example.com" --domains "www.example.com" \
--email info@example.com \
--accept-tos --dns manual renew --days 15 --renew-hook "/usr/local/bin/reload-apache.sh" Slumpmässig minut och timme förhindrar att alla klienter förnyas samtidigt. Med ARI kontrollerar Lego dagligen om CA:n rekommenderar tidig förnyelse. Flaggan --days 15 är en fallback som tvingar förnyelse om det är 15 dagar eller mindre kvar.
Certbot
# Certbot med FairSSL ACME-server
certbot certonly --server https://fairssl.dk/acme \
--manual --preferred-challenges dns \
--eab-kid dhgbKR8K73PgqAxIij6CDg \
--eab-hmac QAx4jKmABqeYCXGZ1H7-eqG2qkPCtflHo5r51TWpebs \
-d example.com -d www.example.com Certbot konfigurerar automatiskt förnyelse via systemd timer.
acme.sh
# acme.sh: stödjer INTE ARI
# Registrera konto
acme.sh --register-account --server https://fairssl.dk/acme \
--eab-kid dhgbKR8K73PgqAxIij6CDg \
--eab-hmac QAx4jKmABqeYCXGZ1H7-eqG2qkPCtflHo5r51TWpebs
# Utfärda certifikat (--days 30 = förnya var 30:e dag)
acme.sh --issue --server https://fairssl.dk/acme \
--dns dns_manual -d example.com -d www.example.com --days 30 Observera: acme.sh stödjer inte ARI. Parametern --days 30 begär ett nytt certifikat var 30:e dag, inte när det är 30 dagar kvar.
Kubernetes cert-manager
<a href="https://cert-manager.io" class="text-secondary hover:underline font-semibold" target="_blank" rel="noopener">cert-manager</a> är standarden för certifikathantering i Kubernetes. Den stödjer ACME med EAB och kan konfigureras att använda FairSSL som certifikatleverantör.
Konfiguration
# Spara EAB HMAC-nyckeln som secret (namespace=cert-manager för ClusterIssuer)
kubectl create secret generic fairssl-eab-secret \
--from-literal=hmac-key=QAx4jKmABqeYCXGZ1H7-eqG2qkPCtflHo5r51TWpebs \
-n cert-manager # Skapa ClusterIssuer
apiVersion: cert-manager.io/v1
kind: ClusterIssuer
metadata:
name: fairssl-acme
spec:
acme:
server: https://fairssl.dk/acme
externalAccountBinding:
keyID: dhgbKR8K73PgqAxIij6CDg
keySecretRef:
name: fairssl-eab-secret
key: hmac-key
... Vi använder ClusterIssuer (istället för Issuer) så den är tillgänglig över alla namespaces. EAB-secret måste ligga i cert-manager namespace för att ClusterIssuer ska kunna läsa den. Efter kubectl describe clusterissuer ska ACME-kontot visas som registrerat.
Frågor om Linux-konfiguration
Hitta svar på de vanligaste frågorna om SSL-certifikat och FairSSL.
Redo för automatiserat SSL på Linux?
Skapa ett gratis konto och utfärda ditt första certifikat på under 10 minuter.