SSL-certifikatens maximala livslängd reduceras till 200 dagar från mars 2026. Läs mer →
HAProxy / Linux Advanced ~5 min. lästid

HAProxy SSL-administration

Installation och konfiguration av SSL-certifikat i HAProxy load balancer.

HAProxy SSL-administration

Introduktion

När du beställer ett SSL-certifikat krävs en Certificate Signing Request (CSR). Denna genereras utifrån en privat nyckel.


Om du vill skapa den privata nyckeln själv och generera CSR-filen, följ Generering av CSR och därefter Installation av SSL-certifikat


Har du redan privat nyckel och certifikat redo kan du gå direkt till Installation av SSL-certifikat.


Denna guide är baserad på OpenSSL 1.1.1f med HA-Proxy 2.0.13 i standardkonfiguration.

Guiden beskriver hur du skapar, installerar och konfigurerar SSL i HAProxy på Linux.

Instruktionerna passar bland annat för Ubuntu, Redhat och CentOS. Det kan förekomma mindre skillnader i sökvägar och kommandon för andra Linux-distributioner.


  1. För att se vilken version av OpenSSL som är installerad, kör följande kommando:


openssl version


Openssl Version


  1. För att se vilken version av HAProxy som är installerad, kör följande kommando:


haproxy -v


Version HA Proxy


  1. Mozilla SSL Configuration Generator kan du generera en SSL-konfiguration som du anpassar för din server.

Du kan välja mellan följande nivåer. Vi rekommenderar Intermediate om det inte finns särskilda skäl att välja något annat, och att du inte aktiverar HSTS om du inte är helt säker på konsekvenserna.



    • Modern: Ger högre säkerhet men lägre kompatibilitet då den exkluderar äldre webbläsare och enheter.

Rekommenderas om alla klienter är kända, till exempel för en webbplats som endast används internt.


    • Intermediate: En balans mellan hög säkerhet och hög kompatibilitet.

Generellt rekommenderat för servrar som nås av okända klienter, till exempel en webbshop. Den optimerar säkerheten men tillåter fortfarande något äldre klienter att ansluta.


    • Old: Låg säkerhet, högsta kompatibilitet.

Denna inställning rekommenderas endast om säkerheten inte är lika viktig som kompatibiliteten, eftersom den tillåter utfasade SSL-standarder med kända sårbarheter.


    • HSTS: (HTTP Strict Transport Security) är en header från servern som talar om för klienten att domänen endast får nås via HTTPS i framtiden. Detta kommes ihåg av klienten under den max-age som sätts, även om headern tas bort från servern igen. Det finns alltså ingen enkel väg tillbaka om något går fel.

Följ en noggrann guide, var konservativ och använd 300 sekunder (5 min) i minst en vecka innan du gradvis ökar tiden.

Var försiktig med subdomäner och preload om inte allt på domänen redan körs över HTTPS.


    • OCSP Stapling: Det är en tydlig fördel att aktivera OCSP stapling. Det innebär att servern hämtar certifikatets status med jämna mellanrum och levererar den till klienterna, istället för att varje enskild klient ska kontrollera statusen varje gång de ansluter.


Mozilla Ssl Configuration Generator

Generering av CSR för certifikatbeställning

I detta exempel använder vi ett enskilt DNS-namn som fungerar för både standard- och SAN-certifikat. För ett wildcard-certifikat ska Common Name ändras till *.fairssl.dk


För att genomföra en beställning och generera CSR-koden behöver du samla följande information för certifikatet:


  • Common Name (CN): Den primära fullständiga domänadressen. T.ex.: www.fairssl.dk
  • Organization Name (O): Det fullständiga juridiska företagsnamnet. T.ex.: FairSSL A/S
  • Organizational Unit (OU): Avdelningen som ska använda certifikatet. Kan lämnas tom eller fyllas med företagsnamnet. T.ex. FairSSL A/S
  • Locality (L): Ort/Stad. T.ex.: Ørum Djurs
  • State (S): Län eller kommun. T.ex.: Norddjurs
  • Country (C): ISO-standard landskod med två bokstäver, måste vara versaler. T.ex.: DK


För att skapa både den privata nyckeln och CSR-förfrågan använder vi verktyget OpenSSL. OpenSSL finns vanligtvis under /usr/local/ssl/bin i en standardinstallation.

Skapa privat nyckel

  1. Logga in på servern med root-åtkomst.


  1. Kör följande kommando för att skapa en 2048-bitars Diffie-Hellman-parameter:


sudo openssl dhparam -out /etc/ssl/private/dhparam.pem 2048


Dh Param Generation


  1. Kör följande kommando för att skapa en privat nyckel utan lösenord:


sudo openssl genrsa -out /etc/ssl/private/www.fairssl.dk.key 2048


Key No Password


Vi skapar den privata nyckeln i /etc/ssl/private/ eftersom det är en säker mapp avsedd för detta ändamål.


Skicka aldrig nyckeln till oss via e-post.

Nyckelfilen måste förvaras säkert och bör inte lämna serveren. Det är inte längre möjligt att använda mindre nyckelstorlekar som RSA 1024 bitar.

Skapa CSR

  1. Kör följande kommando för att skapa en CSR med den privata nyckel du skapade tidigare:


sudo openssl req -new -key /etc/ssl/private/www.fairssl.dk.key -out /etc/ssl/private/www.fairssl.dk.csr


Ange den information du samlade in tidigare för certifikatet följt av [ENTER]. Se till att Country Name anges med versaler. Du behöver inte fylla i något i de tre sista fälten:


Country Name: DK

State or Province Name: Norddjurs

Locality Name: Ørum Djurs

Organization Name: FairSSL A/S

Organizational Unit Name: FairSSL A/S

Common Name: www.fairssl.dk

Email Address:

A Challenge Password:

An Optional Company Name:


Create Csr Command


  1. Du kan kontrollera att din CSR har skapats korrekt med följande kommando:


sudo openssl req -noout -text -in /etc/ssl/private/www.fairssl.dk.csr


Confirm Csr


  1. Öppna CSR-filen med en textredigerare (t.ex. sudo nano /etc/ssl/private/www.fairssl.dk.csr) och kopiera hela texten, inklusive alla bindestreck före och efter.

Klistra in denna text i CSR-fältet vid beställning av certifikatet.

Här är ett exempel på hur en komplett CSR-text ser ut:


Csr Text


En CSR innehåller ingen känslig information och det innebär ingen säkerhetsrisk att skicka den via okrypterad e-post.

Installation av SSL-certifikat

  1. I mappen där du har din CSR-fil (t.ex. /etc/ssl/private), skapa en fil som heter www.fairssl.dk.pem

Öppna filen i en textredigerare (t.ex. sudo nano www.fairssl.dk.pem).

Kopiera texten från ditt SSL-certifikat som du fått via e-post och klistra in i filen, inkludera alla bindestreck.

Öppna din privata nyckel (t.ex. sudo nano /etc/ssl/private/www.fairssl.dk.key), kopiera texten från nyckeln och klistra in den i PEM-filen.

Slutligen klistrar du in certifikatets mellanliggande certifikat (intermediate certificate) i samma fil och sparar.


Combined Pem Files


  1. Gör en säkerhetskopia av din haproxy.cfg:


sudo cp /usr/local/etc/haproxy/haproxy.cfg /usr/local/etc/haproxy/haproxy.cfg.bak


  1. Öppna haproxy.cfg med en textredigerare (t.ex. sudo nano haproxy.cfg).

Uppdatera filen med de inställningar du hittade i Introduktionen

Här är ett exempel på en uppdaterad konfigurationsfil (kommentarer är borttagna för tydlighet):


Update Cfg File


  1. Testa att HAProxy-konfigurationen fortfarande är korrekt:


sudo services haproxy configtest


Om testet visar fel måste dessa åtgärdas innan du går vidare. Se loggfilerna för mer information.


  1. Ladda om HAProxy:


sudo services haproxy reload


Vi rekommenderar att du testar installationen med vår SSL-scanner på: https://www.fairssl.se/sv/ssltest

Mellanliggande certifikat (Intermediate)

Här hittar du mellanliggande certifikat från de olika utfärdarna.

Vi rekommenderar att du i första hand använder det mellanliggande certifikatet som skickades med i din leverans. Hämta endast härifrån om du har förlorat det, eftersom det medföljande certifikatet alltid är korrekt anpassat för ditt servercertifikat.


Mellanliggande certifikat (Intermediate)

Förbättra din TLS-säkerhet

Använd Mozilla SSL Configuration Generator för att generera en säker TLS-konfiguration med moderna cipher suites och protokollinställningar.

Mozilla SSL Configuration Generator guide

Redo att skapa ett gratis konto?

Skapa ett gratis konto och utfärda ditt första certifikat på under 10 minuter.