Installera ett SSL-certifikat på Apache Mod_SSL

Konfigurera Apache med SSL

Följande instruktioner förutsätter att du vill köra både en säker server (på port 443) och en vanlig server (på port 80). Först måste du konfigurera servern för att lyssna på båda portarna. Antingen redigera /etc/apache2/ports.conf (i Debian; detta ingår i apache2.conf) eller redigera /etc/apache2/apache2.conf direkt för att inkludera linjerna:

Lyssna 80 Lyssna 443

Ändra sedan /etc/apache2/sites-enabled/yoursite för att använda SSL-inställningarna. Att separera de vanliga och säkra serverinställningarna med VirtualHosts är det enklaste alternativet när det gäller underhåll. Alla konfigurationer utanför avsnittet VirtualHosts (t.ex. inställning av ServerAdmin) kommer att gälla både (och alla andra) VirtualHosts.

Notera: Från och med Apache 2.4.8 har praxisen att hålla servercertifikatet och mellanliggande certifikatkedja i separata filer försvunnit. Både de nuvarande och gamla metoderna är detaljerade i de klickbara flikarna nedan.
Apache 2.4.8 eller högreApache 2.4.7 eller senare

Versioner av Apache 2.4.8 och högre förväntar sig att ditt servercertifikat kommer att sammanlänkas med alla mellanliggande certifikat i en fil. För att ladda ner en kedjad fil från SSL.com väljer du Nginx nedladdningslänk i ditt portalkonto:

nginx

Alternativt kan du sammanfoga ditt befintliga certifikat och mellanfiler med ett kommando som följande:

$ cat /etc/ssl/private/ca-bundle-client.crt >> /etc/ssl/private/yourdomain.crt

Lägg till följande avsnitt till din konfigurationsfil:

# ==================================================== # SSL /TLS inställningar # =================================================== = NameVirtualHost *: 443 DocumentRoot "/ var / www / yoursite" SSLEngine on SSLCertificateFile /etc/ssl/private/yourdomain.chained.crt SSLCertificateKeyFile /etc/ssl/private/myserver.key

Några anteckningar om denna konfiguration:

  • SSLEngine måste vara aktiverat så att servern använder SSL.
  • DocumentRoot sätter rotkatalogen för den virtuella värden. Detta innebär att du kan skilja säkert innehåll helt från vanligt innehåll.
  • SSLCertificateFile bör ställas in på den plats där du placerar filen med ditt servercertifikat och mellanliggande kedja.
  • SSLCertificateKeyFile bör ställas in på den plats där du placerar din privata nyckelfil.

Lägg till följande avsnitt till din konfigurationsfil:

# ==================================================== # SSL /TLS inställningar # =================================================== = NameVirtualHost *: 443 DocumentRoot "/ var / www / yoursite" SSLEngine on SSLCertificateFile /etc/ssl/private/yourdomain.crt SSLCertificateKeyFile /etc/ssl/private/myserver.key SSLCertificateChainFile / etc / ssl- private / ca-bund klient.crt

Några anteckningar om denna konfiguration:

  • SSLEngine måste vara aktiverat så att servern använder SSL.
  • DocumentRoot sätter rotkatalogen för den virtuella värden. Detta innebär att du kan skilja säkert innehåll helt från vanligt innehåll.
  • SSLCertificateFile, SSLCertificateChainFile, och SSLCertificateKeyFile bör ställas in på de platser där du placerar ditt certifikat, mellanliggande respektive privata nyckelfiler.

För att köra den vanliga servern på port 80 lägger du till följande avsnitt i konfigurationsfilen:

NameVirtualHost *: 80 DocumentRoot "/ var / www / yoursite" # Värdspecifik kataloguppsättning, alternativ osv. # De flesta av dessa alternativ kommer sannolikt att ställas in utanför VirtualHosts # -avsnitten.

Starta om webbservern när du har sparat den redigerade konfigurationsfilen. Om du använde en lösenfras när du genererade ditt certifikat måste du ange det när du utmanas.

Testning

Skapa en grundläggande index.html-sida varhelst rotkatalogen för din webbserver finns, om du inte redan har något innehåll där.

Rikta sedan din webbläsare på https://www.yoursite.com. Du bör se en SSL-anslutning öppnas och sidan levereras. Om du använder ett självsignerat certifikat kommer din webbläsare att dyka upp en varning om att serverns identitet inte kan verifieras. Du kan välja att visa och acceptera certifikatet. Om du använder ett externt certifikat ska allt ske utan ingripande.

Se också till att du inte kan komma åt det skyddade innehållet med http: //. Om du försöker bör du få ett felmeddelande.

Felsökning

Om det inte fungerar som förväntat, kontrollera först att din server faktiskt körs med ps -a | grep apache. Om det inte returnerar någonting, försök starta om det och leta efter felmeddelanden på terminalen.

Kontrollera också att behörigheterna för dina nyckel- och certifikatfiler är korrekt inställda (se ovan), liksom behörigheterna för din test-HTML-fil och dess överordnade katalog.

Kontrollera sedan loggarna. Du bör kontrollera både huvudserverloggarna och även SSL-loggarna som du ställer in i din konfigurationsfil ovan. Om du inte får något användbart kan du prova att ändra LogLevel-värdet i Apache2-konfigurationsfilen till "felsöka", starta om Apache2 och testa igen. Detta borde ge mer loggfildata.

Om du kör en vanlig webbserver på port 80 också, försök att hämta en testsida via http: // snarare än https: // för att identifiera om problemet är med webbservern eller med SSL-anslutningen. Observera att i installationen ovan är webbserverns rotkatalog annorlunda för http: // och https: //, så du kommer inte (eller borde inte!) Kunna komma åt samma innehåll. Om din testsida i http: // root-katalogen fungerar bra, och din testsida i https: // root-katalogen inte, kan det hjälpa dig att hitta problemet.

Om problemet är SSL-anslutningen är ett användbart verktyg det s_client, som är ett diagnostiskt verktyg för felsökning TLS/ SSL-anslutningar. Den grundläggande användningen är: /usr/bin/openssl s_client -connect localhost:443. Det finns många andra alternativ också, för vilka du kan kontrollera dokumentationen. Om du får felmeddelanden bör detta hjälpa dig att hitta problemet.

Tack för att du valde SSL.com! Om du har några frågor, vänligen kontakta oss via e-post på Support@SSL.com, ring upp 1-877-SSL-SECURE, eller bara klicka på chattlänken längst ner till höger på denna sida.

Prenumerera på SSL.coms nyhetsbrev

Missa inte nya artiklar och uppdateringar från SSL.com

Håll dig informerad och säker

SSL.com är en global ledare inom cybersäkerhet, PKI och digitala certifikat. Registrera dig för att få de senaste branschnyheterna, tipsen och produktmeddelanden från SSL.com.

Vi vill gärna ha din feedback

Följ vår undersökning och låt oss veta vad du tycker om ditt senaste köp.