Ställ in Apache2 med HTTP / 2 och Låt oss kryptera SSL-certifikat på Ubuntu 17.04 | 17.10

  • George Richardson
  • 0
  • 3765
  • 497

Stora webbservrar som Apache2, Nginx och andra börjar inkludera stöd för HTTP / 2 (HTTP version 2) i sina byggnader och gör protokollet lätt tillgängligt. HTTP / 2 är den nyare versionen till HTTP / 1 som har varit standardprotokollet sedan det standardiserades redan 1999.

Standard Apache2-versionen i Ubuntu-arkiv levereras inte med HTTP / 2-stöd - åtminstone inte ännu. För att kunna stödja HTTP / 2 med Apache2 på Ubuntu idag måste du uppgradera Apache2 till en version som inte stöds (men stabil) på Ubuntu.

Denna korta handledning kommer att visa studenter och nya användare hur man ställer in Apache2 med HTTP / 2 och Låt oss kryptera SSL-certifikat.

Några av de viktigaste fördelarna med HTTP / 2 är:

  • Enkel, ihållande anslutning
  • Multiplexering
  • Huvudkomprimering
  • Resursprioritering
  • Säkra transportlager

Så som du kan se finns det stora fördelar för dem som uppgraderar till HTTP / 2.

HTTP / 2 fungerar bara med webserver med SSL / TLS aktiverad ... så för att få HTTP / 2 att fungera måste du först installera och aktivera SSL / TLS-certifikat. Följ stegen nedan för att installera den senaste Apache2-versionen och få Let's Encrypt installerad och konfigurerad.

Steg 1: Installera Apache2 med stöd för HTTP / 2

Eftersom den stödda versionen av Apache2 som levereras med Ubuntu inte stöder HTTP / 2 måste du installera Apache2 från en tredjepartskälla. För att göra det, kör kommandona nedan för att lägga till tredjepartsförvaret till Ubuntu.

sudo add-apt-repository ppa: ondrej / apache2

Uppdatera och installera sedan Apache2

sudo apt uppdatera sudo apt installera apache2 

Nu när Apache2 senaste är installerat kör du kommandona nedan för att aktivera HTTP / 2-stöd ... HTTP / 2-stöd är aktiverat från Apache2 2.4.24 och upp.

sudo a2enmod http2

STEG 2: FÅ OCH KONFIGURERA Låt oss kryptera SSL-certifikat

Nu när Apache2-konfigurationen är klar, fortsätt nedan för att få Let's Encrypt installerad och konfigurerad. Let's Encrypt tillhandahåller nu en Apache2-modul för att automatisera denna process. För att få klienten / modulen installerad på Ubuntu, kör kommandona nedan

sudo apt-get install python-certbot-apache

Efter det kör du kommandona nedan för att få ditt kostnadsfria Låt oss kryptera SSL / TLS-certifikat för din webbplats.

sudo certbot --apache -m [email protected] -d exempel.com -d www.example.com

Efter att ha kört ovanstående kommandon bör du uppmanas att acceptera licensvillkoren. Om allt är markerat ska klienten automatiskt installera det gratis SSL / TLS-certifikatet och konfigurera Apache2-webbplatsen för att använda certifikaten.

Läs användarvillkoren på https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. Du måste godkänna för att registrera dig hos ACME-servern på https://acme-v01.api.letsencrypt.org/directory ----------------------- -------------------------------------------------- ------ (A) gree / (C) ancel: A 

Välj Ja (Y) för att dela din e-postadress

Skulle du vara villig att dela din e-postadress med Electronic Frontier Foundation, en grundare av Let's Encrypt-projektet och den ideella organisationen som utvecklar Certbot? Vi vill skicka e-post om EFF och vårt arbete för att kryptera webben, skydda dess användare och försvara digitala rättigheter. -------------------------------------------------- ----------------------------- (Y) es / (N) o: Y 

Så enkelt är det att få ditt gratis SSL / TLS-certifikat för din Nginx-drivna webbplats.

Välj om du vill omdirigera HTTP-trafik till HTTPS eller ta bort HTTP-åtkomst. -------------------------------------------------- ----------------------------- 1: Ingen omdirigering - Gör inga ytterligare ändringar i webbserverns konfiguration. 2: Omdirigering - Gör alla begäranden omdirigera för att säkra HTTPS-åtkomst. Välj detta för nya webbplatser, eller om du är säker på att din webbplats fungerar på HTTPS. Du kan ångra denna ändring genom att redigera din webbservers konfiguration. -------------------------------------------------- ---------------------------- Välj lämpligt nummer [1-2] och sedan [enter] (tryck på 'c' för att avbryta) : 2 

Välj alternativ 2 för att omdirigera all trafik via HTTPS. Det här är viktigt!

Därefter ska SSL-klienten installera certifikatet och konfigurera din webbplats för att omdirigera all trafik via HTTPS.

Grattis! Du har aktiverat https://example.com och https://www.example.com Du bör testa din konfiguration på: https://www.ssllabs.com/ssltest/analyze.html?d=example.com https : //www.ssllabs.com/ssltest/analyze.html? d = www.exempel.com ---------------------------- -------------------------------------------------- - VIKTIGA ANMÄRKNINGAR: - Grattis! Ditt certifikat och kedja har sparats på: /etc/letsencrypt/live/example.com/fullchain.pem Din nyckelfil har sparats på: /etc/letsencrypt/live/example.com/privkey.pem Ditt certifikat upphör att gälla den 2018-02-24. För att få en ny eller justerad version av detta certifikat i framtiden, kör helt enkelt certbot igen med alternativet "certonly". För att icke-interaktivt förnya * alla * dina certifikat, kör "certbot-förnyelse" - Om du gillar Certbot, överväg att stödja vårt arbete genom att: Donera till ISRG / Let's Encrypt: https://letsencrypt.org/donate Donera till EFF: https://eff.org/donate-le

Det markerade kodblocket ska läggas till i din Apache2-konfigurationsfil automatiskt av Let's Encrypt certbot. Din webbplats är redo att användas över HTTPS.

 ServerAdmin [email protected] DocumentRoot /var/www/html/exempel.com/ ServerName exempel.com ServerAlias ​​www.example.com ErrorLog $ APACHE_LOG_DIR / error.log CustomLog $ APACHE_LOG_DIR /access.log kombinerad RewriteEngine på RewriteCond % SERVER_NAME = exempel.com [ELLER] RewriteCond% SERVER_NAME = www.exempel.com RewriteRule ^ https: //% SERVER_NAME% REQUEST_URI [SLUT, NE, R = permanent] 

En ny konfigurationsfil för domänen bör också skapas med namnet /etc/apache2/sites-available/example-le-ssl.conf. Det här är Apache2 SSL-modulkonfigurationsfil och bör innehålla de certifikatdefinitioner som definieras i den.

  ServerAdmin [email protected] DocumentRoot /var/www/html/exempel.com/ ServerName exempel.com ServerAlias ​​www.example.com ErrorLog $ APACHE_LOG_DIR / error.log CustomLog $ APACHE_LOG_DIR /access.log kombinerad SSLCertificateFile / etc /letsencrypt/live/example.com/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem Inkludera /etc/letsencrypt/options-ssl-apache.conf  

Steg 3: Aktivera HTTP / 2 på Apache2-webbplatser

När Låt oss kryptera konfigurerat och HTTP / 2 aktiverat, lägg till detta som i den globala konfigurationsfilen för Apache2 för att aktivera HTTP / 2 på alla webbplatser.

sudo nano /etc/apache2/apache2.conf

Lägg sedan till raden nedan var som helst i filen och spara ... Därefter kommer omstart och HTTP / 2 att aktiveras på alla webbplatser.

Protokoll h2 http / 1.1

Om du inte vill aktivera det för alla webbplatser, lägg till raden ovan i den platsspecifika SSL-konfigurationsfilen.

  ServerAdmin [email protected] DocumentRoot /var/www/html/example.com/ ServerName exempel.com Protokoll h2 http / 1.1 ServerAlias ​​www.example.com ... 

Spara och starta om Apache2.

sudo systemctl ladda om apache2.service

Nu ska du ha Apache2 HTTP / 2-stöd.

Grattis! Du har konfigurerat Apache2 med HTTP / 2 och stöd för Let's Encrypt.

Njut av!

För att ställa in en process för att automatiskt förnya certifikaten, lägg till ett cron-jobb för att utföra förnyelseprocessen.

sudo crontab -e

Lägg sedan till raden nedan och spara.

0 1 * * * / usr / bin / certbot fornya &> / dev / null

Cronjobbet försöker förnya 30 dagar innan det går ut




Ingen har kommenterat den här artikeln än.