Kako aktivirati HTTP/2 podršku na DirectAdmin-u (CentOS)

HTTP/2 je najnovija verzija HTTP protokola, bazirana na SPDY. Njegov razvoj pokrenuo je Google, a HTTP/2 se uvelike temelji na bazi koda i konceptima SPDY.

SPDY je sada zastario i prihvaćanje HTTP/2 diljem svijeta je u tijeku. Mnoge hosting tvrtke već su pružile podršku za HTTP/2 zbog njegove dodatne brzine.

U trenutku pisanja, DirectAdmin ne nudi način da se jednim klikom omogući HTTP/2. Međutim, postoji više načina za postizanje HTTP/2 podrške. Metoda navedena u nastavku pokazala se najrobusnijim i najstabilnijim pristupom.

Nekoliko komponenti treba ažurirati kako bi HTTP/2 stupio na snagu. Zbog toga vam toplo savjetujem da napravite snimak. Ako je moguće, slijedite ovaj vodič na potpuno novom poslužitelju.

Ovaj vodič se sastoji od dva dijela: omogućavanja HTTP/2 podrške na web poslužitelju (Apache) za klijente (posjetitelje) i aktivacije HTTP/2 u cURL-u. Omogućavanje HTTP v2 za cURL prisiljava cURL zahtjeve koji potječu s vašeg poslužitelja da koriste HTTP/2 za svoje odredišne ​​poslužitelje, ako je moguće.

Ključne točke

  • Nije potrebno ažurirati i Apache i cURL za korištenje HTTP/2. U redu je ako slijedite bilo koji vodič, jer oni funkcioniraju odvojeno jedan od drugog.
  • Bilo je nekoliko čudnih slučajeva u kojima se čini da Apache i HTTP/2 dobro funkcioniraju, ali učitavanje uspijeva na ''slučajnim'' preglednicima i web-mjesta postaju nedostupna (ispremanje) na drugima. Jednostavno vraćanje na izvornu Apache konfiguraciju će to popraviti, jer Apache neće znati za HTTP/2 i neće pokušati posluživati ​​sadržaj preko njega.
  • Uvijek napravite sigurnosnu kopiju ili napravite snimku unaprijed. Omogućavanje HTTP/2 može biti relativno krhak proces pa je važno moći poništiti promjene ako je potrebno.
  • Ponovno kompajliranje softvera uvijek može uzrokovati male zastoje. U nekim slučajevima, to je manje od minute, ali ne postoji način da se točno utvrdi. Trebali biste biti spremni u najmanju ruku na neke zastoje.
  • Za ovaj vodič potreban vam je root pristup poslužitelju. Ako nemate mogućnost podizanja razine dopuštenja na root, trebali biste kontaktirati administratora poslužitelja da omogući HTTP/2 na poslužitelju.

HTTP/2 i SSL

Iako to nije tehnički zahtjev samog HTTP/2, u većini slučajeva trebat će vam SSL certifikat za korištenje HTTP/2. Kao što je spomenuto, HTTP/2 to tehnički ne zahtijeva, ali mnogi preglednici (Safari, Chrome, Firefox, itd.) kreirali su ovaj standard. Sadržaj se neće posluživati ​​putem HTTP/2 kada se stranica učita bez SSL-a pomoću ovih preglednika. S obzirom da većina korisnika koristi ove preglednike (i druge) koji također sudjeluju u ovom standardu, trebali biste koristiti SSL certifikat.

Ako tražite besplatni SSL certifikat, trebali biste pogledati jedan od naših vodiča za šifriranje:

Preporučeno: Instaliranje Let's Encrypt na DirectAdmin

Alternativne upravljačke ploče:

Opći vodiči:

Pitanja

Dokumentira li ovaj vodič instalaciju Brotlija?

Ne, u ovom članku nije navedena metoda za instaliranje Brotlija uz HTTP/2.

Prevođenje ne uspijeva bez razloga, a ja sam slijedio točne korake navedene u ovom članku. Kako da to riješim?

Iako postoji mnogo mogućih razloga za to, uzimajući u obzir različita okruženja i slično, moguće je da vaše postavke jezika nisu točne. Pokušajte staviti LC_ALL=Cispred svojih naredbi, tako da bi naredba za ponovno kompajliranje Apachea izgledala ovako, na primjer: LC_ALL=C ./build apache Ne zaboravite razmak između LC_ALL=Ci naredbu!

Hoću li izgubiti neke podatke?

U slučaju da trenutno koristite postavku obrnutog proxyja, na primjer s Apacheom i Nginxom, trebali biste ga vratiti na Apache, u kojem slučaju biste doista izgubili svoje Nginx konfiguracijske datoteke. U slučaju da ste napravili prilagođene konfiguracije VirtualHosta (bilo putem naredbenog retka ili samog DirectAdmina), trebali biste ih promijeniti za svaku domenu kako bi verzije Apachea ostale aktivne. Nećete izgubiti nikakve podatke u vezi s korisničkim podacima, sadržajem web stranice, bazama podataka itd.

Hoće li me ove prilagođene verzije spriječiti da ažuriram pakete i softver u budućnosti?

Općenito, nema potrebe brinuti o tome. Uzimajući u obzir modularnu postavku DirectAdmina (a samim tim i CustomBuild), trebali biste u budućnosti moći bez problema preći na nižu verziju ili nadograditi na druge verzije softvera. Iako biste trebali dokumentirati promjene u slučaju da je u budućnosti potreban alternativni put nadogradnje, ne biste trebali brinuti o nekompatibilnosti verzija s novim izdanjima softvera.

DirectAdmin ne nudi HTTP/2 iz kutije; to sigurno znači da nije kompatibilan ili imaju svoje razloge da ne bude. Zašto je potrebno ovo rješenje?

Metode za instalaciju i omogućavanje HTTP/2 opisane u nastavku nisu toliko zaobilazna rješenja, već samo puko ažuriranje paketa i promjene konfiguracije. Zbog modularne postavke DirectAdmina, ove promjene su sasvim u redu i ne bi trebale uzrokovati probleme ili druge probleme. Teško je odrediti zašto DirectAdmin to ne podržava iz kutije, s obzirom na to da autori nisu dali objašnjenje za to. Međutim, prilično solidan zaključak je da DirectAdmin koristi pakete verzija operacijskog sustava. Oni općenito nisu tako ažurirani kao paketi u nastavku. Nema ništa loše u HTTP/2, samoj tehnologiji i njenoj kompatibilnosti. Baš kao i mnoge druge tehnologije, može potrajati neko vrijeme da se prilagode.

Koji su mogući rizici aktivacije HTTP/2 s Apacheom?

U aktivaciji HTTP/2 (koja se sastoji od procesa nadogradnje i konfiguracije) postoji mnogo varijabli koje se mogu pokazati nestandardnim. Međutim, najveći rizik leži u ljudskoj grešci. Unaprijed napravite snimku, svakako najavite održavanje svojim korisnicima (ako ih ima na poslužitelju osim vas) i budite oprezni. Nadalje, nemojte kopirati i zalijepiti naredbe bez razmišljanja o tome što one prvo rade.

Toplo preporučujem da privremeno pokrenete zasebnu instancu oblaka Vultr s DirectAdmin-om i prođete kroz korake. Ako nešto pođe po zlu pri 'svježoj' instalaciji, znat ćete gdje i kako to otkloniti greške tako da ne morate u proizvodnom okruženju.

1. dio: Apache (web poslužitelj)

Ako trenutno koristite obrnuti proxy, trebali biste se vratiti na okruženje samo za Apache. To je zato što je HTTP/2 vrlo teško otkloniti greške ako nešto pođe po zlu. Budući da možete koristiti integriranu HTTP/2 funkcionalnost Apachea, učinkovito ste u mogućnosti eliminirati vrlo velik dio problema.

Korak 1: Nadogradnja OpenSSL-a

U mnogim slučajevima vaša OpenSSL verzija nije kompatibilna s ALPN-om, koji je potreban za HTTP/2. Stoga, omogućimo ALPN ažuriranjem OpenSSL-a.

Prvo, provjerimo je li vaša OpenSSL verzija kompatibilna tako što ćemo izvršiti:

openssl version

Ako je vaša verzija OpenSSL-a manja od 1.1.0f, izvršite sljedeće kao root. U suprotnom, prijeđite na korak 2.

cd ~
wget ftp://ftp.openssl.org/source/openssl-1.1.0f.tar.gz
tar xzf openssl-1.1.0f.tar.gz
cd openssl-1.1.0f
./config --prefix=/usr/local/lib_http2 no-ssl2 no-ssl3 zlib-dynamic -fPIC
make depend
make install

Korak 2: Instaliranje nghttp2

Da bi HTTP/2 radio, moramo instalirati nghttp2. Nghttp2 je implementacija HTTP/2 (i HPACK) u C. Nghttp2 je kombinirana verzija HTTP/2 klijenta, poslužitelja i proxyja u C.

Da biste instalirali nghttp2, izvršite sljedeće naredbe. Srećom, nghttp2 se može izgraditi izravno iz CustomBuild-a.

cd /usr/local/directadmin/custombuild
./build update
./build nghttp2

Korak 3: Omogućavanje HTTP/2 u Apacheu

Moramo izmijeniti nekoliko vrijednosti u Apache konfiguracijskoj datoteci kako bi koristio HTTP/2. Kada web poslužitelj ne dobiva upute za korištenje alternativne HTTP verzije, neće je koristiti. Stoga moramo dodati HTTP/2 u konfiguracijsku datoteku.

Da bi ove promjene stupile na snagu, potrebna je ponovna izgradnja Apachea putem CustomBuilda. Budući da su parametri i vrijednosti koje koristi CustomBuild pri izradi softvera određeni u namjenskoj konfiguracijskoj datoteci, najbolja praksa je staviti te promjene u namjensku datoteku prilagođene konfiguracije.

Napomena: ako ove promjene ne stavite u prilagođenu datoteku, one će najvjerojatnije biti prepisane i vaše će postavljanje prekinuti. Slijedite upute navedene u nastavku.

Izvršite sljedeće naredbe kako biste kreirali datoteku i unaprijed je ispunili zadanim vrijednostima kako bismo je nakon toga mogli promijeniti:

mkdir -p /usr/local/directadmin/custombuild/custom/ap2
cp -p /usr/local/directadmin/custombuild/configure/ap2/configure.apache /usr/local/directadmin/custombuild/custom/ap2/configure.apache

Od sada imamo prilagođenu datoteku koja je identična zadanoj konfiguracijskoj datoteci za Apache koju koristi CustomBuild. Moramo izmijeniti /usr/local/directadmin/custombuild/custom/ap2/configure.apachedatoteku zamjenom sljedećeg niza:

"--with-ssl=/usr" \

s:

"--enable-http2" \
"--enable-ssl-staticlib-deps" \
"--with-ssl=/usr/local/lib_http2" \

Napomena: Provjerite da nema bijelog prostora nakon bilo koje obrnute kose crte . Višak razmaka uzrokovat će prekid građenja.

Zatim ponovno izgradite Apache. CustomBuild će koristiti prilagođenu konfiguracijsku datoteku koju ste upravo stvorili:

./build apache

Korak 4: Promjena konfiguracije Apachea

Apache je sada obnovljen uključujući potrebne module i postavke za HTTP/2. To znači da sada imamo instaliranu verziju Apachea na našem poslužitelju s podrškom za HTTP/2, ali moramo reći Apacheu da je najprije koristi.

Dodajte sljedeće retke u /etc/httpd/conf/extra/httpd-includes.conf:

ProtocolsHonorOrder On
Protocols h2 h2c http/1.1

Spremite ove promjene i ponovno napišite konfiguracijske datoteke tako da budu postojane tijekom rekonstrukcije:

cd /usr/local/directadmin/custombuild
./build rewrite_confs

HTTP/2 bi sada trebao biti aktivan na vašem web (Apache) poslužitelju.

Korak 5: Ponovno pokrenite poslužitelj

Ponovno pokrenite poslužitelj kako biste bili sigurni da će se naše promjene zadržati tijekom ponovnih pokretanja. Ponovo pokrenite poslužitelj putem Vultr kontrolne ploče ili izvršavanjem rebootnaredbe.

Korak 6: Testirajte HTTP/2

Funkcionalnost HTTP/2 lako se može testirati korištenjem sljedećeg alata: HTTP/2 Test

S obzirom da je HTTP/2 specifičan za poslužitelj i ne može se ograničiti na određeni par domena ili web-mjesta, unošenje bilo kojeg naziva domene koji upućuje na poslužitelj ili čak IP adrese poslužitelja trebao bi funkcionirati.

Test će vam reći može li doći do web poslužitelja putem HTTP/2. U slučaju da alat kaže da je HTTP/2 aktiviran na vašem poslužitelju, do DirectAdmin web-mjesta sada se može doći putem HTTP/1.1 ili HTTP/2. U slučaju da HTTP/2 podrška nije dostupna za klijenta (posjetitelja), njegov preglednik će se vratiti na HTTP/1.1.

U slučaju da alat ne može doći do vašeg web poslužitelja putem HTTP/2, ponovite gore navedene korake. Općenito (budući da gornji koraci ne prepisuju ništa aktivno) to neće oštetiti niti prekinuti vaše postavke.

Dio 2: cURL

Preporučujem ažuriranje cURL-a tako da može doći do poslužitelja s podrškom za HTTP/2. U slučaju da poslužitelj ne podržava HTTP/2, vratit će se na HTTP/1.1.

Korak 1: Dodavanje prilagođene konfiguracijske datoteke

Baš kao i kod Apachea, izradit ćemo datoteku prilagođene konfiguraciji tako da će cURL koji je izradio CustomBuild koristiti naše prilagođene postavke.

Napravite imenik:

mkdir -p /usr/local/directadmin/custombuild/custom/curl

Napravite datoteku:

touch /usr/local/directadmin/custombuild/custom/curl/configure.curl

Kopirajte i zalijepite sljedeći sadržaj u datoteku:

#!/bin/sh
perl -pi -e 's|CURL_CHECK_PKGCONFIG\(zlib\)|#CURL_CHECK_PKGCONFIG(zlib)|g' configure.ac
LIBS="-ldl" ./configure --with-nghttp2=/usr/local --with-ssl=/usr/local/lib_http2

Kao što možete vidjeti, ovi sadržaji govore da se cURL prevede pomoću lib_http2SSL biblioteke.

Spremite datoteku i dajte joj ispravna dopuštenja:

chmod 700 /usr/local/directadmin/custombuild/custom/curl/configure.curl

Korak 2: Izgradnja cURL-a

Dalje, sve što trebamo napraviti je izgraditi cURL.

cd /usr/local/directadmin/custombuild
./build curl

cURL je sada preveden s podrškom za HTTP 2.


Instalirajte Plesk na CentOS 7

Instalirajte Plesk na CentOS 7

Korištenje drugog sustava? Plesk je vlasnička upravljačka ploča web hosta koja omogućuje korisnicima da administriraju svoje osobne i/ili klijentske web stranice, baze podataka

Kako instalirati Squid proxy na CentOS

Kako instalirati Squid proxy na CentOS

Squid je popularan besplatni program za Linux koji vam omogućuje stvaranje web proxyja za prosljeđivanje. U ovom vodiču vidjet ćete kako instalirati Squid na CentOS da vas preokrene

Kako instalirati Lighttpd (LLMP Stack) na CentOS 6

Kako instalirati Lighttpd (LLMP Stack) na CentOS 6

Uvod Lighttpd je fork Apachea koji ima za cilj da bude puno manje intenzivan prema resursima. Lagan je, otuda mu i naziv, i prilično je jednostavan za korištenje. Instaliraj

Konfiguriranje statičkog umrežavanja i IPv6 na CentOS 7

Konfiguriranje statičkog umrežavanja i IPv6 na CentOS 7

VULTR je nedavno napravio promjene na svojoj strani i sada bi sve trebalo raditi dobro iz kutije s omogućenim NetworkManagerom. Želite li onemogućiti

Promjena Icinga2 za korištenje modela Master/Client na CentOS 6 ili CentOS 7

Promjena Icinga2 za korištenje modela Master/Client na CentOS 6 ili CentOS 7

Icinga2 je moćan sustav nadzora, a kada se koristi u modelu master-client, može zamijeniti potrebu za provjerama praćenja na temelju NRPE. Glavni klijent

Kako instalirati Apache Cassandra 3.11.x na CentOS 7

Kako instalirati Apache Cassandra 3.11.x na CentOS 7

Korištenje drugog sustava? Apache Cassandra je besplatni i otvorenog koda NoSQL sustav upravljanja bazom podataka koji je osmišljen kako bi osigurao skalabilnost, visoku

Kako instalirati Microweber na CentOS 7

Kako instalirati Microweber na CentOS 7

Korištenje drugog sustava? Microweber je CMS i internetska trgovina otvorenog koda povuci i ispusti. Izvorni kod Microwebera nalazi se na GitHubu. Ovaj vodič će vam pokazati

Kako instalirati Mattermost 4.1 na CentOS 7

Kako instalirati Mattermost 4.1 na CentOS 7

Korištenje drugog sustava? Mattermost je open source alternativa Slack SAAS servisu za razmjenu poruka. Drugim riječima, s Mattermostom možete ca

Stvaranje mreže Minecraft poslužitelja s BungeeCord na Debian 8, Debian 9 ili CentOS 7

Stvaranje mreže Minecraft poslužitelja s BungeeCord na Debian 8, Debian 9 ili CentOS 7

Što vam treba Vultr VPS s najmanje 1 GB RAM-a. SSH pristup (s root/administrativnim privilegijama). Korak 1: Instalacija BungeeCord-a Najprije

Omogućava šifriranje na Plesku

Omogućava šifriranje na Plesku

Upravljačka ploča Plesk ima vrlo lijepu integraciju za Lets Encrypt. Lets Encrypt je jedan od jedinih SSL pružatelja usluga koji u potpunosti izdaju certifikate

Omogućuje šifriranje na cPanelu

Omogućuje šifriranje na cPanelu

Lets Encrypt je tijelo za izdavanje certifikata posvećeno besplatnom pružanju SSL certifikata. cPanel je izgradio urednu integraciju tako da vi i vaš klijent

Kako instalirati Concrete5 na CentOS 7

Kako instalirati Concrete5 na CentOS 7

Korištenje drugog sustava? Concrete5 je CMS otvorenog koda koji nudi mnoge osebujne i korisne značajke koje pomažu urednicima u jednostavnoj proizvodnji sadržaja i

Kako instalirati ploču za pregled na CentOS 7

Kako instalirati ploču za pregled na CentOS 7

Korištenje drugog sustava? Review Board je besplatan alat otvorenog koda za pregled izvornog koda, dokumentacije, slika i još mnogo toga. To je web-bazirani softver

Postavite HTTP autentifikaciju pomoću Nginxa na CentOS 7

Postavite HTTP autentifikaciju pomoću Nginxa na CentOS 7

U ovom vodiču naučit ćete kako postaviti HTTP autentifikaciju za Nginx web poslužitelj koji radi na CentOS 7. Zahtjevi Da biste započeli, trebat će vam

Kako instalirati YOURLS na CentOS 7

Kako instalirati YOURLS na CentOS 7

YOURLS (Your Own URL Shortener) je aplikacija za skraćivanje URL-ova otvorenog koda i analizu podataka. U ovom članku ćemo pokriti proces instalacije

Kako instalirati i konfigurirati ArangoDB na CentOS 7

Kako instalirati i konfigurirati ArangoDB na CentOS 7

Korištenje drugog sustava? Uvod ArangoDB je NoSQL baza podataka otvorenog koda s fleksibilnim modelom podataka za dokumente, grafikone i ključ-vrijednosti. to je

Korištenje Etckeepera za kontrolu verzija /etc

Korištenje Etckeepera za kontrolu verzija /etc

Uvod Direktorij /etc/ igra ključnu ulogu u načinu na koji Linux sustav funkcionira. Razlog tome je što je gotovo svaka konfiguracija sustava

Zašto biste trebali koristiti SSHFS? Kako montirati udaljeni datotečni sustav sa SSHFS na CentOS 6

Zašto biste trebali koristiti SSHFS? Kako montirati udaljeni datotečni sustav sa SSHFS na CentOS 6

Mnogi administratori sustava upravljaju velikim količinama poslužitelja. Kada se datotekama treba pristupiti na različitim poslužiteljima, prijava na svaki pojedinačno ca

Postavljanje poslužitelja Half Life 2 na CentOS 6

Postavljanje poslužitelja Half Life 2 na CentOS 6

Ovaj vodič će pokriti proces instaliranja poslužitelja za igre Half Life 2 na sustavu CentOS 6. Korak 1: Instaliranje preduvjeta Kako biste postavili ou

Kako instalirati Laravel GitScrum na CentOS 7

Kako instalirati Laravel GitScrum na CentOS 7

Laravel GitScrum ili GitScrum je alat za produktivnost otvorenog koda dizajniran da pomogne razvojnim timovima da implementiraju Scrum metodologiju na sličan način.

Uspon strojeva: primjene AI u stvarnom svijetu

Uspon strojeva: primjene AI u stvarnom svijetu

Umjetna inteligencija nije u budućnosti, ovdje je upravo u sadašnjosti. U ovom blogu Pročitajte kako su aplikacije umjetne inteligencije utjecale na različite sektore.

DDOS napadi: kratak pregled

DDOS napadi: kratak pregled

Jeste li i vi žrtva DDOS napada i zbunjeni ste metodama prevencije? Pročitajte ovaj članak kako biste riješili svoje upite.

Jeste li se ikada zapitali kako hakeri zarađuju novac?

Jeste li se ikada zapitali kako hakeri zarađuju novac?

Možda ste čuli da hakeri zarađuju mnogo novca, ali jeste li se ikada zapitali kako zarađuju toliki novac? raspravimo.

Revolucionarni Googleovi izumi koji će vam olakšati život.

Revolucionarni Googleovi izumi koji će vam olakšati život.

Želite li vidjeti revolucionarne izume Googlea i kako su ti izumi promijenili život svakog čovjeka danas? Zatim čitajte na blogu kako biste vidjeli Googleove izume.

Friday Essential: Što se dogodilo s automobilima s umjetnom inteligencijom?

Friday Essential: Što se dogodilo s automobilima s umjetnom inteligencijom?

Koncept samovozećih automobila koji će krenuti na ceste uz pomoć umjetne inteligencije san je koji već neko vrijeme imamo. No, unatoč nekoliko obećanja, nigdje ih nema. Pročitajte ovaj blog kako biste saznali više…

Tehnološka singularnost: daleka budućnost ljudske civilizacije?

Tehnološka singularnost: daleka budućnost ljudske civilizacije?

Kako se znanost razvija velikom brzinom, preuzimajući mnoge naše napore, raste i rizik da se podvrgnemo neobjašnjivoj Singularnosti. Pročitajte što bi za nas mogla značiti singularnost.

Evolucija pohrane podataka – Infografika

Evolucija pohrane podataka – Infografika

Metode pohrane podataka su se razvijale možda od rođenja podataka. Ovaj blog pokriva evoluciju pohrane podataka na temelju infografike.

Funkcionalnosti slojeva referentne arhitekture velikih podataka

Funkcionalnosti slojeva referentne arhitekture velikih podataka

Pročitajte blog kako biste na najjednostavniji način upoznali različite slojeve u arhitekturi velikih podataka i njihove funkcionalnosti.

6 nevjerojatnih prednosti posjedovanja pametnih kućnih uređaja u našim životima

6 nevjerojatnih prednosti posjedovanja pametnih kućnih uređaja u našim životima

U ovom digitalnom svijetu, pametni kućni uređaji postali su ključni dio života. Evo nekoliko nevjerojatnih prednosti pametnih kućnih uređaja o tome kako naš život čine vrijednim življenja i jednostavnijim.

Ažuriranje dodataka macOS Catalina 10.15.4 uzrokuje više problema nego što ih rješava

Ažuriranje dodataka macOS Catalina 10.15.4 uzrokuje više problema nego što ih rješava

Nedavno je Apple izdao macOS Catalina 10.15.4 dodatak ažuriranju kako bi riješio probleme, ali čini se da ažuriranje uzrokuje više problema koji dovode do zalijevanja mac strojeva. Pročitajte ovaj članak da biste saznali više