Aktiverer HTTP/2
Feilsøking
Plesk har innebygd HTTP/2-støtte. Distribusjonsprosessen krever nøye planlegging, selv om utrulling av HTTP/2 på Plesk er mye enklere sammenlignet med andre kontrollpaneler. Denne veiledningen gjelder for en rekke operativsystemer. Trinnene gitt her vil fungere så lenge du har tilstrekkelige Plesk- og OpenSSL-versjoner. Jeg vil beskrive disse kravene i "Trinn 1: Kontroll av krav".
Du bør ta hensyn til at mange nettlesere kun støtter HTTP/2 for nettstedet ditt hvis du bruker et SSL-sertifikat. Når et SSL-sertifikat ikke brukes, vil ikke innholdet bli servert over HTTP/2. Heldigvis er det mange måter å få et SSL-sertifikat på. Hvis du er interessert i å få et Let's Encrypt-sertifikat, sjekk ut denne veiledningen for å lage et på Plesk: Let's Encrypt on Plesk .
Selv om det er en god sjanse for at du kan aktivere HTTP/2 uten at brukerne eller besøkende legger merke til det (og uten nedetid), bør du kunngjøre dette vedlikeholdet. I tilfelle SSL-chifferpakken din ikke er riktig konfigurert, kan det være noe nedetid. Heldigvis er det veldig enkelt å tilbakestille endringene ved å bruke Plesks innebygde verktøy.
Du bør være helt sikker på at det ikke er gjort noen direkte endringer i konfigurasjonsfiler, siden vi kommer til å overskrive noen konfigurasjonsfiler. Det er imidlertid ingenting å bekymre seg for i tilfelle du utelukkende har gjort endringer ved hjelp av støttede metoder (i egendefinerte filer).
Hvis mulig, bør du spinne opp en annen Vultr-skyserver med en vanlig Plesk-installasjon og utføre kommandoen(e) nedenfor. Deretter, basert på suksessen (eller fiaskoen), kan du ta skritt for å umiddelbart feilsøke og/eller løse eventuelle problemer som kan oppstå i fremtidige HTTP/2-distribusjoner på produksjonsservere som er i bruk.
Aktiverer HTTP/2
Trinn 1: Kontroller krav
Ut av esken kan du aktivere HTTP/2-støtte for den omvendte proxyen som Plesk ble distribuert. I tilfelle du ikke er sikker på om serveren din bruker en omvendt proxy, bør du sjekke "Service Monitor". Hvis du ser både Apache og Nginx oppført der, er det trygt å anta at installasjonen din for øyeblikket bruker en omvendt proxy. Hvis du bare ser Apache eller bare Nginx, vil du mest sannsynlig bruke en enkelt webserver.
I kjernen er det ett spesifikt krav som er absolutt nødvendig for at HTTP/2 skal fungere, som er en OpenSSL-versjon med ALPN-støtte.
Men hvis du har Plesk versjon 12.5.30 eller nyere installert på CentOS / RHEL 7, Ubuntu 14.04, Debian 8 eller nyere, er Nginx distribuert med ALPN-støtte rett ut av esken.
Hvis du har en eldre Plesk- eller operativsystemversjon, kan du oppgradere noen pakker. Jeg støtter eller dokumenterer imidlertid ikke dette. Disse versjonene og operativsystemene er svært gamle, og beste praksis vil være å oppdatere dem. Vurder sikkerhetsrisikoen ved å bruke utdatert programvare også.
Det er ikke noe dokument som eksplisitt sier hvilke operativsystemer og versjoner som er kompatible med HTTP/2 på Plesk; men hvis du bruker den nyeste versjonen (på tidspunktet denne veiledningen ble publisert), bør du oppfylle kravene. Du kan trygt anta at eldre operativsystemer som CentOS / RHEL 5 ikke vil være kompatible.
Bortsett fra kravene til OpenSSL-versjon, merk at Apache ikke nødvendigvis trenger å være kompatibel med HTTP/2 også. HTTP/2-støtte for Apache har vært tilgjengelig siden versjon 2.4.17, men i tilfelle du bruker en omvendt proxy (som er standardinnstillingen i Plesk) er det bare Nginx-versjonen som er tilstrekkelig. Backend-serveren, Apache, trenger ikke å være kompatibel. Du kan konsultere "Service Manager" i Plesk for å forsikre deg om at du bruker en omvendt proxy. Når Nginx er oppført der, er det trygt å anta at Apache og Nginx er installert som et omvendt proxy-oppsett der Nginx fungerer som frontend-serveren.
Følgende kommando viser om Nginx er aktivert eller ikke.
/usr/local/psa/admin/bin/nginxmng -s
For OpenSSL bør du minst ha versjon 1.0.1. Du kan sjekke ved å bruke følgende kommando:
rpm -qa | grep openssl
Dette vil skrive ut en versjon som ligner på:
openssl-1.0.1e-42.el6_7.4.x86_64
Hvis OpenSSL-versjonen ikke er lik eller større enn 1.0.1, bør du oppdatere operativsystemet. Plesk distribuert på nyere operativsystemer vil bruke OpenSSL 1.0.1 ut av esken.
Trinn 2: Aktivering av HTTP/2 i Plesk
Avhengig av operativsystemet som brukes, aktiver HTTP/2 ved å bruke http2_prefverktøyet. Denne kommandoen skal utføres som root.
Aktiverer HTTP/2 på CentOS / RHEL
Henrette: /usr/local/psa/bin/http2_pref enable
Aktiverer HTTP/2 på Ubuntu / Debian
Henrette: /opt/psa/bin/http2_pref enable
Trinn 3: Forbedre chifferpakken
Å bruke en god chifferpakke er utrolig viktig for sikkerheten. Å støtte utdaterte protokoller vil effektivt beseire effekten av sikkerhetstiltakene dine. Sørg for å justere tilgjengelige protokoller og tilgjengelige TLS-versjoner ved å bruke det innebygde Plesk-verktøyet sslmng.
Aktivering av følgende chiffer og TLS-versjoner vil for eksempel sikre kompatibilitet med HTTP/2. Hvis du er ganske usikker på chiffer og versjoner du bør aktivere, så hold deg til følgende innstillinger:
plesk sbin sslmng --services=nginx --custom --ciphers="EECDH+AESGCM+AES128:EECDH+AESGCM+AES256:EECDH+CHACHA20:EDH+AESGCM+AES128:EDH+AESGCM+AES256:EDH+CHACHA20" --protocols="TLSv1 TLSv1.1 TLSv1.2"
Denne kommandoen endrer /etc/nginx/conf.d/ssl.conf. Du kan endre denne filen direkte, men bruk av kommandoen oppført ovenfor vil vedvare endringer på tvers av Plesk-oppdateringer.
For å få "Perfect forward hemmelighold" ved å bruke en annen chifferpakke, kan du prøve følgende chiffer:
ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:RSA+AESGCM:RSA+AES:!aNULL:!MD5:!DSS
Det er mange chiffersuiter tilgjengelig, og du bør velge den som passer dine behov best. Du bør konsultere et nettsted som Cipherli.st for å samle en chifferpakke som passer dine behov. Ved å spesifisere det i sslmngverktøyet, vil chifferpakken bli brukt umiddelbart.
For å sjekke TLS-støtten til nettleseren din som klient, bruk Qualys SSL-verktøyet . Når du ikke tillater tilstrekkelig med chiffer eller TLS-versjoner, kan enkelte nettsteder bli utilgjengelige.
Trinn 4: Sjekke HTTP/2-kompatibilitet
Etter å ha aktivert HTTP/2, bør du sjekke om nettsidene og webserveren kan nås over HTTP/2. Det er et veldig nyttig nettbasert verktøy for dette: HTTP/2 Test .
For å få et nøyaktig resultat, sørg for at du har deaktivert alle omvendte proxyer som ligger foran serveren din. For eksempel, hvis du bruker et CDN som ikke støtter HTTP/2, vil testverktøyet returnere at nettstedet ditt ikke støtter HTTP/2 selv om det er aktivert på servernivå. Akkurat som omvendt: hvis du har en omvendt proxy som Cloudflare foran nettstedet ditt (som støtter HTTP/2), vil verktøyet alltid returnere HTTP/2 som aktivert og fungerer, uavhengig av funksjonaliteten på servernivået .
Hvis noen nettlesere nekter å laste inn nettsiden(e) eller vise innhold fra nettserveren etter å ha aktivert HTTP/2, bør du analysere SSL-oppsettet ditt ved å bruke Qualys sitt SSL-verktøy .
(Valgfritt) Tilbakestilling av HTTP/2-konfigurasjon
Om nødvendig, hvis du trenger tid til å feilsøke, kan du (midlertidig) deaktivere HTTP/2 ganske enkelt ved å utføre kommandoen nedenfor. Når du vil aktivere HTTP/2 på nytt, kjør bare kommandoen for å aktivere den og prøv på nytt å nå et av nettstedene dine. Det er ingen måte å aktivere eller deaktivere HTTP/2 for spesifikke domener eller nettsteder; det er en server-omfattende innstilling.
Deaktiverer HTTP/2 på CentOS / RHEL
Henrette: /usr/local/psa/bin/http2_pref disable
Deaktivering av HTTP/2 på Ubuntu / Debian
Henrette: /opt/psa/bin/http2_pref disable
Feilsøking
Tatt i betraktning de mange komponentene til en server som er involvert i aktivering av HTTP/2, kan det hende at du i noen tilfeller må feilsøke når nettsteder ikke lastes inn riktig eller ikke i det hele tatt etter aktivering av HTTP/2-støtte.
Merk: Pass på at du ikke deaktiverer HTTP/2-støtte ved å bruke http2_prefverktøyet når du følger disse trinnene.
Sjekk krav
Først må du sørge for at du oppfyller kravene som er skissert i begynnelsen av denne artikkelen.
Gjenskap Nginx-konfigurasjonen
Hvis du oppfyller kravene for HTTP/2, kan du prøve å gjenskape Nginx-konfigurasjonsfilene. Du bør vite at dette vil fjerne eventuelle egendefinerte konfigurasjoner, så lag en sikkerhetskopi av Nginx-konfigurasjonskatalogen på forhånd. Siden konfigurasjonsfilene kan spres over hele serveren, er det bedre å lage et øyeblikksbilde eller ta en sikkerhetskopi. Utfør deretter denne kommandoen:
/usr/local/psa/admin/bin/httpdmng --reconfigure-all
Sjekk chiffersuiten på nytt
Hvis det heller ikke har noen effekt, er det mest sannsynlig chiffersuiten som har skylden. Utfør følgende kommando igjen:
plesk sbin sslmng --services=nginx --custom --ciphers="EECDH+AESGCM+AES128:EECDH+AESGCM+AES256:EECDH+CHACHA20:EDH+AESGCM+AES128:EDH+AESGCM+AES256:EDH+CHACHA20" --protocols="TLSv1 TLSv1.1 TLSv1.2"
Feil i panel.ini
Sørg for at filen /usr/local/psa/admin/conf/panel.iniinneholder følgende innhold:
[webserver]
nginxHttp2 = true
Du kan raskt sjekke om filen inneholder dette ved å utføre: cat /usr/local/psa/admin/conf/panel.ini | grep nginxHttp2
Returnerer denne kommandoen ingenting? Da er mest sannsynlig filen skrivebeskyttet, for eksempel på grunn av et chattrattributt. Det kan ha blitt lagt til da http2_prefkommandoen (for å aktivere HTTP/2) ble utført.
Sjekk om SSL brukes
Når et nettsted ikke bruker SSL, vil det falle tilbake til HTTP/1.1. Kun nettsteder som bruker SSL vil bli servert med HTTP/2. Pass på at du ikke håndhever HTTP/2 lokalt i alle tilfeller, fordi det vil ikke fungere og ikke er et problem på serversiden.
Andre muligheter
Skulle dette heller ikke fungere, bør du konsultere en Plesk-ekspert, for eksempel på Plesk-forumene. I mange tilfeller vil trinnene ovenfor løse de fleste problemer.
Et siste tiltak du kan ta er å starte serveren på nytt. I noen merkelige tilfeller har dette løst problemer ut av det blå. Du bør imidlertid alltid være i stand til å finne problemer for å forhindre at de (plutselig) skjer igjen.
Det avslutter guiden min, takk for at du leste.