Nginx er en open source-webserver, som har vundet mange administratorers og udvikleres hjerter på grund af dens effektive ydeevne, lave hukommelsesforbrug og stærke understøttelse af forskellige protokoller. I dag skal vi tale om konfiguration af HTTP/2-understøttelse i Nginx.

HTTP/2 er en videreudvikling af HTTP-protokollen, som forbedrer overførslen af data mellem serveren og brugeren. Den erstatter HTTP 1.1, som havde en grænse for antallet af samtidige forbindelser og derfor bremsede indlæsningen af tunge sider. HTTP/2 løser dette problem ved at tillade parallel dataindlæsning og HTTP-header-komprimering.

Hvorfor er overgangen til HTTP/2 vigtig?

At skifte til HTTP/2 gør ikke kun indlæsningen af dit website hurtigere, men øger også sikkerheden ved dataoverførsel. Alle moderne browsere kræver, at hjemmesider bruger HTTPS for at understøtte HTTP/2, hvilket gør dataoverførslen mellem serveren og de besøgende mere sikker.

Processen med overgang til HTTP/2

Før du begynder at opsætte HTTP/2, skal du have en server, der kører Ubuntu 18.04 og Nginx installeret. Dit domænenavn skal også pege på serveren, og der skal være installeret et SSL-certifikat (f.eks. Let’s Encrypt) til dette domæne.

1. Opsætning af serveren

Åbn dit domænes konfigurationsfil:

vim /etc/nginx/sites-available/dit_domæne

Tilføj HTTP/2-understøttelse for IPv6- og IPv4-forbindelser:

listen [::]:443 ssl hp2 ipv6only=on;
lyt 443 ssl http2;

Gem dine ændringer, og tjek syntaksen:

nginx -t

2. Forbedret sikkerhed

For at forbedre sikkerheden skal du udelukke usikre cifre. I dit domænes konfigurationsfil skal du ændre indstillingen ssl_ciphers:

ssl_ciphers EECDH+CHACHA20:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;

Tjek syntaksen, og genstart serveren:

nginx -t
systemctl genstart nginx.service

3. Tilføjelse af HTTP Strict Transport Security (HSTS)

For endnu mere sikkerhed kan du tilføje HTTP Strict Transport Security-headeren til din Nginx-konfigurationsfil. Denne header sikrer, at browsere kun bruger HTTPS-forbindelser.

I Nginx’ konfigurationsfil:

add_header Strict-Transport-Security "max-age=15768000; includeSubDomains" always;

Tjek syntaksen, og genstart serveren.

4. Kontrol af, at HTTP/2 fungerer korrekt.

Du kan teste HTTP/2 ved hjælp af curl-kommandoen:

curl -I -L https://ваш_домен

Serverens svar skal nævne HTTP/2.

Du kan også bruge Google Chrome og udviklerværktøjer til at tjekke, om der er HTTP/2-understøttelse.

Nu er din hjemmeside klar til at arbejde med HTTP/2 – en hurtigere og mere sikker version af HTTP-protokollen 🚀.

Husk altid at holde din server opdateret og sikker. Held og lykke!!!!

Læs også:

Spørgsmål og svar

Hvad er fordelene ved at bruge HTTP/2 frem for HTTP/1.1?

HTTP/2 giver en række fordele, herunder forbedret ydeevne gennem funktioner som multiplexing og header-komprimering, øget sikkerhed gennem indbygget kryptering og forbedret understøttelse af moderne webteknologier.

Skal jeg aktivere SSL/TLS, når jeg konfigurerer HTTP/2-understøttelse?

Ja, det er vigtigt at aktivere SSL/TLS, når man konfigurerer HTTP/2-understøttelse for at sikre sikker kommunikation mellem klienter og server. SSL/TLS-kryptering beskytter følsomme data mod aflytning og uautoriseret adgang.

Kan jeg konfigurere HTTP/2-understøttelse på ældre versioner af Ubuntu?

Det er teknisk muligt at konfigurere HTTP/2-understøttelse på ældre versioner af Ubuntu, f.eks. 16.04, men det anbefales, at du bruger Ubuntu 18.04 eller nyere for at opnå optimal kompatibilitet og understøttelse.

Hvordan tjekker jeg, om HTTP/2 er aktiveret på min Nginx-server?

Du kan tjekke, om HTTP/2 er aktiveret på din Nginx-server ved hjælp af værktøjer som curl eller online HTTP/2-testtjenester. Alternativt kan en undersøgelse af Nginx-serverens logfiler give dig en idé om den protokolversion, der bruges af klientforbindelser.

Kræver aktivering af HTTP/2-understøttelse yderligere serverressourcer?

Aktivering af HTTP/2-understøttelse kan kræve lidt flere serverressourcer end HTTP/1.1 på grund af protokollens øgede kompleksitet. Men ydelsesfordelene opvejer normalt de minimale ressourcekrav.

Kan jeg vende tilbage til HTTP/1.1, hvis det er nødvendigt, efter jeg har konfigureret HTTP/2-understøttelse?

Ja, du kan vende tilbage til HTTP/1.1, hvis det er nødvendigt, ved at ændre dine Nginx-konfigurationsindstillinger. Det anbefales dog, at du grundigt tester dit websteds kompatibilitet og ydeevne, før du foretager ændringer.

Om forfatteren

Andrii Kostashchuk

Andrii har erfaring med programmering i forskellige sprog til forskellige platforme og systemer. Han har tilbragt mere end 8 år i internetsfæren, hvor han har arbejdet med forskellige CMS, f.eks: Opencart, Drupal, Joomla og selvfølgelig det mest populære indholdsstyringssystem WordPress.

Se alle artikler