Ako aktivovať podporu HTTP/2 na DirectAdmin (CentOS)

HTTP/2 je najnovšia verzia protokolu HTTP, založená na SPDY. Jeho vývoj inicioval Google a HTTP/2 je z veľkej časti založený na kódovej základni a konceptoch SPDY.

SPDY je teraz zastaraný a celosvetové prijatie HTTP/2 prebieha. Mnoho hostingových spoločností už poskytlo podporu pre HTTP/2 kvôli jeho zvýšenej rýchlosti.

V čase písania tohto článku DirectAdmin neposkytuje spôsob aktivácie HTTP/2 jedným kliknutím. Existuje však viacero spôsobov, ako dosiahnuť podporu HTTP/2. Metóda opísaná nižšie sa ukázala ako najrobustnejší a najstabilnejší prístup.

Aby sa HTTP/2 prejavilo, je potrebné aktualizovať niekoľko komponentov. Z tohto dôvodu vám dôrazne odporúčam urobiť snímku. Ak je to možné, postupujte podľa tohto návodu na úplne novom serveri.

Táto príručka pozostáva z dvoch častí: aktivácia podpory HTTP/2 na webovom serveri (Apache) pre klientov (návštevníkov) a aktivácia HTTP/2 v cURL. Povolenie HTTP v2 pre cURL núti požiadavky cURL pochádzajúce z vášho servera, aby používali HTTP/2 pre svoje cieľové servery, ak je to možné.

Kľúčové body

  • Na používanie HTTP/2 nie je potrebné aktualizovať Apache aj cURL. Je v poriadku, ak budete postupovať podľa oboch pokynov, pretože fungujú oddelene od seba.
  • Vyskytlo sa niekoľko zvláštnych prípadov, v ktorých sa zdalo, že Apache a HTTP/2 fungujú dobre, ale načítanie je úspešné v ''náhodných'' prehliadačoch a stránky sa stávajú nedostupnými (timeout) v iných. Jednoduchým návratom k pôvodnej konfigurácii Apache sa to vyrieši, pretože Apache nebude vedieť o HTTP/2 a nepokúsi sa cez neho poskytovať obsah.
  • Vždy si urobte zálohu alebo urobte snímku vopred. Povolenie HTTP/2 môže byť relatívne krehký proces, takže je dôležité, aby ste v prípade potreby mohli vrátiť zmeny.
  • Prekompilovanie softvéru môže vždy spôsobiť mierne prestoje. V niektorých prípadoch je to menej ako minúta, ale nedá sa to presne povedať. Mali by ste byť pripravení aspoň na nejaké prestoje.
  • Pre túto príručku potrebujete root prístup k serveru. Ak nemáte možnosť zvýšiť úroveň svojich oprávnení na root, mali by ste kontaktovať správcu servera, aby na serveri povolil HTTP/2.

HTTP/2 a SSL

Hoci nejde o technickú požiadavku samotného HTTP/2, vo väčšine prípadov budete na používanie HTTP/2 potrebovať certifikát SSL. Ako už bolo spomenuté, HTTP/2 to technicky nevyžaduje, no mnohé prehliadače (Safari, Chrome, Firefox atď.) tento štandard vytvorili. Obsah nebude poskytovaný cez HTTP/2, keď sa stránka načíta bez SSL pomocou týchto prehliadačov. Vzhľadom na to, že väčšina používateľov používa tieto prehliadače (a iné), ktoré sa tiež podieľajú na tomto štandarde, mali by ste použiť certifikát SSL.

Ak hľadáte bezplatný certifikát SSL, mali by ste si pozrieť jedného z našich sprievodcov Let's Encrypt:

Odporúčané: Inštalácia Let's Encrypt na DirectAdmin

Alternatívne ovládacie panely:

Všeobecní sprievodcovia:

FAQ

Dokumentuje tento návod inštaláciu Brotli?

Nie, v tomto článku nie je načrtnutá žiadna metóda na inštaláciu Brotli spolu s HTTP/2.

Kompilácia zlyhá bez dôvodu a postupoval som presne podľa krokov uvedených v tomto článku. Ako to mám vyriešiť?

Aj keď je na to veľa možných dôvodov, berúc do úvahy rôzne prostredia a podobne, vaše miestne nastavenia nemusia byť správne. Skúste vložiť LC_ALL=Cpred svoje príkazy, takže príkaz na prekompilovanie Apache by vyzeral napríklad takto: LC_ALL=C ./build apache Nezabudnite na medzeru medzi LC_ALL=Cpríkazom a!

Prídem o nejaké dáta?

V prípade, že v súčasnosti používate reverzné nastavenie proxy, napríklad s Apache a Nginx, mali by ste ho vrátiť späť na Apache, v takom prípade by ste skutočne stratili konfiguračné súbory Nginx. V prípade, že ste si vytvorili vlastné konfigurácie VirtualHost (či už cez príkazový riadok alebo samotný DirectAdmin), mali by ste ich zmeniť pre jednotlivé domény, aby verzie Apache zostali aktívne. Nestratíte žiadne údaje týkajúce sa používateľských údajov, obsahu webových stránok, databáz atď.

Zabránia mi tieto vlastné verzie v aktualizácii balíkov a softvéru v budúcnosti?

Vo všeobecnosti sa toho netreba obávať. Ak vezmeme do úvahy modulárne nastavenie DirectAdmin (a teda CustomBuild), mali by ste byť schopní v budúcnosti bez problémov prejsť na nižšiu verziu alebo upgradovať na iné verzie softvéru. Aj keď by ste mali zdokumentovať zmeny pre prípad, že by sa v budúcnosti vyžadovala alternatívna cesta aktualizácie, nemali by ste sa obávať nekompatibility verzií s novými vydaniami softvéru.

DirectAdmin neponúka HTTP/2 hneď po vybalení; určite to znamená, že to nie je kompatibilné alebo majú svoje dôvody, aby to tak nebolo. Prečo je toto riešenie potrebné?

Metódy na inštaláciu a aktiváciu HTTP/2 opísané nižšie nie sú ani tak riešenia, ale iba obyčajné aktualizácie balíkov a zmeny konfigurácie. Vďaka modulárnemu nastaveniu DirectAdmin sú tieto zmeny úplne v poriadku a nemali by spôsobovať problémy ani iné problémy. Je ťažké určiť, prečo to DirectAdmin nepodporuje, keďže autori to nevysvetlili. Celkom solídnym záverom však je, že DirectAdmin využíva balíčky verzií operačného systému. Vo všeobecnosti nie sú také aktuálne ako nižšie uvedené balíčky. Na HTTP/2, samotnej technológii a jej kompatibilite nie je nič zlé. Rovnako ako mnohým iným technológiám môže chvíľu trvať, kým sa natívne adaptuje.

Aké sú možné riziká aktivácie HTTP/2 pomocou Apache?

Pri aktivácii HTTP/2 (pozostávajúcej z procesu aktualizácie a konfigurácie) existuje veľa premenných, ktoré sa môžu ukázať ako neštandardné. Najväčšie riziko však spočíva v ľudskej chybe. Vopred urobte snímku, nezabudnite ohlásiť údržbu svojim používateľom (ak sú na serveri okrem vás aj nejakí) a buďte opatrní. Okrem toho nekopírujte a nevkladajte príkazy bez toho, aby ste najprv premýšľali o tom, čo urobia.

Dôrazne odporúčam dočasne spustiť samostatnú cloudovú inštanciu Vultr pomocou DirectAdmin a prejsť si jednotlivé kroky. Ak by sa pri „čerstvej“ inštalácii niečo pokazilo, budete vedieť, kde a ako to odladiť, aby ste to nemuseli robiť v produkčnom prostredí.

Časť 1: Apache (webový server)

Ak v súčasnosti používate reverzný proxy server, mali by ste sa prepnúť späť do prostredia iba pre Apache. Je to preto, že HTTP/2 je veľmi ťažké ladiť, ak sa niečo pokazí. Tým, že budete môcť využívať integrovanú funkcionalitu HTTP/2 Apache, môžete efektívne eliminovať veľkú časť problémov.

Krok 1: Inovácia OpenSSL

V mnohých prípadoch vaša verzia OpenSSL nie je kompatibilná s protokolom ALPN, ktorý sa vyžaduje pre protokol HTTP/2. Preto povoľme ALPN aktualizáciou OpenSSL.

Najprv sa uistite, že vaša verzia OpenSSL nie je kompatibilná vykonaním:

openssl version

Ak je vaša verzia OpenSSL nižšia ako 1.1.0f, vykonajte nasledujúce kroky ako root. V opačnom prípade prejdite na krok 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

Krok 2: Inštalácia nghttp2

Aby HTTP/2 fungovalo, musíme nainštalovať nghttp2. Nghttp2 je implementácia HTTP/2 (a HPACK) v C. Nghttp2 je kombinovaná verzia HTTP/2 klienta, servera a proxy v C.

Ak chcete nainštalovať nghttp2, vykonajte nasledujúce príkazy. Našťastie je možné nghttp2 vytvoriť priamo z CustomBuild.

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

Krok 3: Povolenie HTTP/2 v Apache

Potrebujeme zmeniť niekoľko hodnôt v konfiguračnom súbore Apache, aby mohol používať HTTP/2. Keď webový server nedostáva pokyny na použitie alternatívnej verzie HTTP, nepoužije ju. Preto musíme do konfiguračného súboru pridať HTTP/2.

Aby sa tieto zmeny prejavili, je potrebné prebudovanie Apache cez CustomBuild. Keďže parametre a hodnoty používané CustomBuild pri vytváraní softvéru sú určené vo vyhradenom konfiguračnom súbore, osvedčeným postupom je vložiť tieto zmeny do vyhradeného vlastného konfiguračného súboru.

Poznámka: Ak tieto zmeny nevložíte do vlastného súboru, s najväčšou pravdepodobnosťou sa prepíšu a vaše nastavenie sa pokazí. Postupujte podľa pokynov uvedených nižšie.

Vykonajte nasledujúce príkazy, aby ste vytvorili súbor a predvyplnili ho predvolenými hodnotami, aby sme ho mohli neskôr zmeniť:

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

Odteraz máme vlastný súbor, ktorý je identický s predvoleným konfiguračným súborom pre Apache, ktorý používa CustomBuild. Musíme zmeniť /usr/local/directadmin/custombuild/custom/ap2/configure.apachesúbor nahradením nasledujúceho reťazca:

"--with-ssl=/usr" \

s:

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

Poznámka: Uistite sa, že za žiadnymi spätnými lomkami nie je žiadne prázdne miesto . Prebytok medzier tam spôsobí prerušenie zostavy.

Ďalej prestavte Apache. CustomBuild použije vlastný konfiguračný súbor, ktorý ste práve vytvorili:

./build apache

Krok 4: Zmena konfigurácie Apache

Apache bol teraz prestavaný vrátane potrebných modulov a nastavení pre HTTP/2. To znamená, že teraz máme na našom serveri nainštalovanú verziu Apache s podporou HTTP/2, ale musíme najprv povedať Apache, aby ju skutočne použil.

Pridajte nasledujúce riadky do /etc/httpd/conf/extra/httpd-includes.conf:

ProtocolsHonorOrder On
Protocols h2 h2c http/1.1

Uložte tieto zmeny a prepíšte konfiguračné súbory tak, aby boli trvalé počas prestavieb:

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

HTTP/2 by mal byť teraz aktívny na vašom webovom (Apache) serveri.

Krok 5: Reštartujte server

Reštartujte server, aby ste sa uistili, že naše zmeny pretrvávajú aj po reštartovaní. Reštartujte server cez ovládací panel Vultr alebo vykonaním rebootpríkazu.

Krok 6: Otestujte HTTP/2

Funkčnosť HTTP/2 možno jednoducho otestovať pomocou nasledujúceho nástroja: HTTP/2 Test

Vzhľadom na to, že protokol HTTP/2 je špecifický pre server a nemožno ho obmedziť na konkrétny pár domén alebo webových stránok, malo by fungovať zadanie ľubovoľného názvu domény smerujúceho na server alebo dokonca adresy IP servera.

Test vám povie, či sa dokáže dostať na webový server cez HTTP/2. V prípade, že nástroj hovorí, že na vašom serveri je aktivovaný HTTP/2, na webové stránky DirectAdmin sa teraz dá dostať cez HTTP/1.1 alebo HTTP/2. V prípade, že pre klienta (návštevníka) nie je dostupná podpora HTTP/2, jeho prehliadač sa vráti na HTTP/1.1.

V prípade, že nástroj nemôže dosiahnuť váš webový server cez HTTP/2, zopakujte vyššie uvedené kroky. Vo všeobecnosti (keďže vyššie uvedené kroky aktívne nič neprepisujú) to nepoškodí ani nezlomí vaše nastavenie.

Časť 2: cURL

Odporúčam aktualizovať cURL, aby bolo možné dosiahnuť servery s podporou HTTP/2. V prípade, že server nepodporuje HTTP/2, prejde späť na HTTP/1.1.

Krok 1: Pridanie vlastného konfiguračného súboru

Rovnako ako v prípade Apache, vytvoríme vlastný konfiguračný súbor, takže cURL vytvorený CustomBuild bude používať naše vlastné nastavenia.

Vytvorte adresár:

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

Vytvorte súbor:

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

Skopírujte a prilepte nasledujúci obsah do súboru:

#!/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

Ako môžete vidieť, tento obsah hovorí cURL, aby bol kompilovaný pomocou lib_http2knižnice SSL.

Uložte súbor a prideľte mu správne povolenia:

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

Krok 2: Vytvorenie cURL

Ďalej všetko, čo musíme urobiť, je vytvoriť cURL.

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

cURL bol teraz skompilovaný s podporou HTTP 2.


Install Plesk on CentOS 7

Install Plesk on CentOS 7

Using a Different System? Plesk is a proprietary web host control panel that allows users to administer their personal and/or clients websites, databases

Ako nainštalovať Squid Proxy na CentOS

Ako nainštalovať Squid Proxy na CentOS

Squid je populárny bezplatný linuxový program, ktorý vám umožňuje vytvoriť webový proxy server na presmerovanie. V tejto príručke uvidíte, ako nainštalovať Squid na CentOS, aby vás zmenil

Ako nainštalovať Lighttpd (LLMP Stack) na CentOS 6

Ako nainštalovať Lighttpd (LLMP Stack) na CentOS 6

Úvod Lighttpd je fork Apache, ktorého cieľom je byť oveľa menej náročný na zdroje. Je ľahký, odtiaľ jeho názov, a jeho použitie je celkom jednoduché. Installin

Konfigurácia statickej siete a IPv6 na CentOS 7

Konfigurácia statickej siete a IPv6 na CentOS 7

VULTR nedávno vykonal zmeny na ich konci a všetko by teraz malo fungovať dobre po vybalení so zapnutým NetworkManagerom. Ak chcete deaktivovať

Úprava Icinga2 na použitie modelu Master/Client na CentOS 6 alebo CentOS 7

Úprava Icinga2 na použitie modelu Master/Client na CentOS 6 alebo CentOS 7

Icinga2 je výkonný monitorovací systém a pri použití v modeli master-client môže nahradiť potrebu monitorovacích kontrol založených na NRPE. Hlavný klient

Ako nainštalovať Apache Cassandra 3.11.x na CentOS 7

Ako nainštalovať Apache Cassandra 3.11.x na CentOS 7

Používate iný systém? Apache Cassandra je bezplatný a otvorený systém správy databáz NoSQL, ktorý je navrhnutý tak, aby poskytoval škálovateľnosť, vysokú

Ako nainštalovať Microweber na CentOS 7

Ako nainštalovať Microweber na CentOS 7

Používate iný systém? Microweber je open source drag and drop CMS a online obchod. Zdrojový kód Microweber je umiestnený na GitHub. Tento návod vám to ukáže

Ako nainštalovať Mattermost 4.1 na CentOS 7

Ako nainštalovať Mattermost 4.1 na CentOS 7

Používate iný systém? Mattermost je open source, samostatne hosťovaná alternatíva k službe posielania správ Slack SAAS. Inými slovami, s Mattermostom môžete cca

Vytvorenie siete serverov Minecraft pomocou BungeeCord na Debian 8, Debian 9 alebo CentOS 7

Vytvorenie siete serverov Minecraft pomocou BungeeCord na Debian 8, Debian 9 alebo CentOS 7

Čo budete potrebovať Vultr VPS s aspoň 1 GB RAM. Prístup SSH (s oprávneniami root/administrátor). Krok 1: Inštalácia BungeeCord Najprv veci

Umožňuje šifrovanie na Plesku

Umožňuje šifrovanie na Plesku

Ovládací panel Plesk obsahuje veľmi peknú integráciu pre Lets Encrypt. Lets Encrypt je jedným z mála poskytovateľov SSL, ktorí rozdávajú kompletné certifikáty

Umožňuje šifrovanie na cPanel

Umožňuje šifrovanie na cPanel

Lets Encrypt je certifikačná autorita, ktorá sa venuje bezplatnému poskytovaniu certifikátov SSL. cPanel vytvoril úhľadnú integráciu, takže vy a váš klient

Ako nainštalovať Concrete5 na CentOS 7

Ako nainštalovať Concrete5 na CentOS 7

Používate iný systém? Concrete5 je open source CMS, ktorý ponúka mnoho charakteristických a užitočných funkcií, ktoré pomáhajú redaktorom jednoducho vytvárať obsah

Ako nainštalovať revíznu tabuľu na CentOS 7

Ako nainštalovať revíznu tabuľu na CentOS 7

Používate iný systém? Review Board je bezplatný a otvorený zdrojový nástroj na kontrolu zdrojového kódu, dokumentácie, obrázkov a mnohých ďalších. Je to webový softvér

Nastavte overenie HTTP pomocou Nginx na CentOS 7

Nastavte overenie HTTP pomocou Nginx na CentOS 7

V tejto príručke sa dozviete, ako nastaviť HTTP autentifikáciu pre webový server Nginx spustený na CentOS 7. Požiadavky Na začiatok budete potrebovať

Ako nainštalovať YOURLS na CentOS 7

Ako nainštalovať YOURLS na CentOS 7

YOURLS (Your Own URL Shortener) je open source aplikácia na skrátenie adresy URL a analýzu údajov. V tomto článku sa budeme zaoberať procesom inštalácie

Ako nainštalovať a nakonfigurovať ArangoDB na CentOS 7

Ako nainštalovať a nakonfigurovať ArangoDB na CentOS 7

Používate iný systém? Úvod ArangoDB je open source databáza NoSQL s flexibilným dátovým modelom pre dokumenty, grafy a hodnoty kľúča. to je

Použitie Etckeeper na kontrolu verzií /etc

Použitie Etckeeper na kontrolu verzií /etc

Úvod Adresár /etc/ hrá rozhodujúcu úlohu v spôsobe fungovania systému Linux. Dôvodom je skutočnosť, že takmer každá konfigurácia systému

Prečo by ste mali používať SSHFS? Ako pripojiť vzdialený súborový systém s SSHFS na CentOS 6

Prečo by ste mali používať SSHFS? Ako pripojiť vzdialený súborový systém s SSHFS na CentOS 6

Mnoho systémových administrátorov spravuje veľké množstvo serverov. Keď je potrebné pristupovať k súborom cez rôzne servery, prihlásenie do každého z nich samostatne ca

Nastavenie servera Half Life 2 na CentOS 6

Nastavenie servera Half Life 2 na CentOS 6

Tento tutoriál sa bude zaoberať procesom inštalácie herného servera Half Life 2 na systém CentOS 6. Krok 1: Inštalácia predpokladov Aby ste mohli nastaviť ou

Ako nainštalovať Laravel GitScrum na CentOS 7

Ako nainštalovať Laravel GitScrum na CentOS 7

Laravel GitScrum alebo GitScrum je nástroj na zvýšenie produktivity s otvoreným zdrojom určený na pomoc vývojovým tímom implementovať metodiku Scrum podobným spôsobom.

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Umelá inteligencia nie je v budúcnosti, je tu priamo v súčasnosti V tomto blogu si prečítajte, ako aplikácie umelej inteligencie ovplyvnili rôzne sektory.

Útoky DDOS: Stručný prehľad

Útoky DDOS: Stručný prehľad

Ste aj vy obeťou DDOS útokov a máte zmätok ohľadom metód prevencie? Ak chcete vyriešiť svoje otázky, prečítajte si tento článok.

Zaujímalo vás niekedy, ako hackeri zarábajú peniaze?

Zaujímalo vás niekedy, ako hackeri zarábajú peniaze?

Možno ste už počuli, že hackeri zarábajú veľa peňazí, ale premýšľali ste niekedy nad tým, ako môžu zarábať také peniaze? poďme diskutovať.

Revolučné vynálezy od spoločnosti Google, ktoré vám uľahčia život.

Revolučné vynálezy od spoločnosti Google, ktoré vám uľahčia život.

Chcete vidieť revolučné vynálezy od Google a ako tieto vynálezy zmenili život každého dnešného človeka? Potom si prečítajte na blogu a pozrite si vynálezy spoločnosti Google.

Piatok Essential: Čo sa stalo s autami poháňanými AI?

Piatok Essential: Čo sa stalo s autami poháňanými AI?

Koncept samoriadených áut vyraziť na cesty s pomocou umelej inteligencie je snom, ktorý máme už nejaký čas. Ale napriek niekoľkým prísľubom ich nikde nevidno. Prečítajte si tento blog a dozviete sa viac…

Technologická singularita: vzdialená budúcnosť ľudskej civilizácie?

Technologická singularita: vzdialená budúcnosť ľudskej civilizácie?

Ako sa veda vyvíja rýchlym tempom a preberá veľa nášho úsilia, zvyšuje sa aj riziko, že sa vystavíme nevysvetliteľnej singularite. Prečítajte si, čo pre nás môže znamenať singularita.

Vývoj ukladania dát – Infografika

Vývoj ukladania dát – Infografika

Spôsoby ukladania údajov sa môžu vyvíjať už od zrodu údajov. Tento blog sa zaoberá vývojom ukladania údajov na základe infografiky.

Funkcionality vrstiev referenčnej architektúry veľkých dát

Funkcionality vrstiev referenčnej architektúry veľkých dát

Prečítajte si blog, aby ste čo najjednoduchším spôsobom spoznali rôzne vrstvy architektúry veľkých dát a ich funkcie.

6 úžasných výhod toho, že máme v živote inteligentné domáce zariadenia

6 úžasných výhod toho, že máme v živote inteligentné domáce zariadenia

V tomto digitálnom svete sa inteligentné domáce zariadenia stali kľúčovou súčasťou života. Tu je niekoľko úžasných výhod inteligentných domácich zariadení o tom, ako robia náš život, ktorý stojí za to žiť, a ktorý zjednodušujú.

Aktualizácia doplnku macOS Catalina 10.15.4 spôsobuje viac problémov, ako ich rieši

Aktualizácia doplnku macOS Catalina 10.15.4 spôsobuje viac problémov, ako ich rieši

Spoločnosť Apple nedávno vydala doplnkovú aktualizáciu macOS Catalina 10.15.4 na opravu problémov, ale zdá sa, že táto aktualizácia spôsobuje ďalšie problémy, ktoré vedú k blokovaniu počítačov Mac. Prečítajte si tento článok a dozviete sa viac