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

  • Matthew Stevenson
  • 0
  • 1856
  • 560

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.

Det har fungerat som defacto-protokollet tills HTTP / 2 (version 2) nyligen standardiserades.

Denna korta handledning kommer att visa studenter och nya användare hur man installerar och konfigurerar Nginx 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 få Let's Encrypt installerad och konfigurerad.

STEG 1: INSTÄLLNING Låt oss kryptera gratis SSL / TLS

Det första steget är att skaffa SSL / TLS-certifikat för din domän eller webbplats. Eftersom Let's Encrypt är gratis, fortsätt nedan för att få dina gratiscertifikat att använda.

Innan du får Låt oss kryptera certifikat, se till att din Nginx-konfiguration är korrekt inställd ... för din webbplatskonfigurationsfil, se till att Server namn definieras med både www och non www.

server lyssna 80; lyssna [::]: 80; root /var/www/html/exempel.com; index index.php index.html index.htm; server_name exempel.com www.exempel.com;… 

När dessa inställningar har bekräftats, fortsätt nedan för att få certifikatet för ditt domännamn.

För att få Let's Encrypt SSL / TLS-klienten installerad på Ubuntu, kör kommandona nedan

sudo add-apt-repository ppa: certbot / certbot sudo apt-get update sudo apt-get install python-certbot-nginx

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 --nginx -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 kostnadsfria SSL / TLS-certifikatet och konfigurera Nginx-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 bör läggas till i din Nginx-konfigurationsfil automatiskt av Let's Encrypt certbot. Din webbplats är redo att användas över HTTPS.

server lyssna 80; lyssna [::]: 80; root /var/www/html/exempel.com; index index.php index.html index.htm; server_name exempel.com www.exempel.com; plats / try_files $ uri $ uri / = 404;  location ~ /.well-known allow all;  ... lyssna 443 ssl; # hanteras av Certbot ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; # hanteras av Certbot ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; # hanteras av Certbot inkluderar /etc/letsencrypt/options-ssl-nginx.conf; # hanteras av Certbot ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # hanteras av Certbot if ($ scheme! = "https") return 301 https: // $ host $ request_uri;  # hanteras av Certbot # Omdirigera icke-https-trafik till https # if ($ schema! = "https") # returnera 301 https: // $ värd $ request_uri; # # hanteras av Certbot

STEG 2: ÄNDRA NGINX ATT ANVÄNDA HTTP / 2

Nu när Låt oss kryptera SSL / TLS-certifikat har lagts till för den här domänen gå och ändra Nginx för att använda HTTP / 2-konfiguration. Ändra den markerade delen nedan i lila i konfigurationsfilen som visas nedan

 lyssna 443 ssl http2; lyssna [::]: 443 ssl http2; # hanteras av Certbot ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; # hanteras av Certbot ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; # hanteras av Certbot inkluderar /etc/letsencrypt/options-ssl-nginx.conf; # hanteras av Certbot ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # hanteras av Certbot if ($ scheme! = "https") return 301 https: // $ host $ request_uri;  # hanteras av Certbot # Omdirigera icke-https-trafik till https # if ($ schema! = "https") # returnera 301 https: // $ värd $ request_uri; # # hanteras av Certbot 

Spara filen så är du klar.

Nu ska Nginx konfigureras med HTTP / 2-protokoll.

Grattis! Du har konfigurerat Nginx för att använda HTTP / 2-protokoll.

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.

En samling användbar information om operativsystemet Linux och ny teknik
Färska artiklar, praktiska tips, detaljerade recensioner och guider. Känn dig hemma i Linux-operativsystemets värld