Com activar el suport HTTP/2 a DirectAdmin (CentOS)

HTTP/2 és la versió més recent del protocol HTTP, basat en SPDY. El seu desenvolupament va ser iniciat per Google i HTTP/2 es basa en gran mesura en la base de codis i els conceptes de SPDY.

SPDY ha quedat obsolet i l'adopció d'HTTP/2 a tot el món està en curs. Moltes empreses d'allotjament ja han proporcionat suport per a HTTP/2 a causa de la seva velocitat afegida.

En el moment d'escriure, DirectAdmin no ofereix una manera d'activar HTTP/2 amb un sol clic. Tanmateix, hi ha diverses maneres d'aconseguir el suport HTTP/2. El mètode que es descriu a continuació ha demostrat ser l'enfocament més robust i estable.

S'han d'actualitzar diversos components perquè HTTP/2 tingui efecte. Per això, us recomano fermament que feu una instantània. Si és possible, seguiu aquesta guia en un servidor completament nou.

Aquesta guia consta de dues parts: habilitar el suport HTTP/2 al servidor web (Apache) per als clients (visitants) i l'activació d'HTTP/2 a cURL. L'habilitació d'HTTP v2 per a cURL obliga les sol·licituds de cURL que s'originin des del vostre servidor a utilitzar HTTP/2 per als seus servidors de destinació, si és possible.

Punts clau

  • No cal actualitzar tant Apache com cURL per utilitzar HTTP/2. Està bé si seguiu qualsevol de les guies, ja que funcionen per separat.
  • Hi ha hagut alguns casos estranys en què Apache i HTTP/2 semblen funcionar bé, però la càrrega té èxit en navegadors ''aleatoris'' i els llocs esdevenen inaccessibles (temps d'espera) en altres. Simplement tornar a la configuració original d'Apache solucionarà això, ja que Apache no sabrà sobre HTTP/2 i no intentarà publicar-hi contingut.
  • Feu sempre una còpia de seguretat o feu una instantània amb antelació. Habilitar HTTP/2 pot ser un procés relativament fràgil, per la qual cosa és important poder revertir els canvis si cal.
  • La recompilació de programari sempre pot provocar un lleuger temps d'inactivitat. En alguns casos, això és inferior a un minut, però no hi ha manera de saber-ho exactament. Hauríeu d'estar preparat per a un temps d'inactivitat com a mínim.
  • Necessiteu accés root al servidor per a aquesta guia. Si no teniu la capacitat d'elevar el vostre nivell de permisos a root, us hauríeu de posar en contacte amb l'administrador del servidor per habilitar HTTP/2 al servidor.

HTTP/2 i SSL

Tot i que no és un requisit tècnic del propi HTTP/2, en la majoria dels casos necessitareu un certificat SSL per utilitzar HTTP/2. Com s'ha dit, HTTP/2 no ho requereix tècnicament, però molts navegadors (Safari, Chrome, Firefox, etc.) han creat aquest estàndard. El contingut no es publicarà mitjançant HTTP/2 quan es carregui una pàgina sense SSL amb aquests navegadors. Tenint en compte que la majoria dels usuaris utilitzen aquests navegadors (i altres) que també participen en aquest estàndard, hauríeu d'utilitzar un certificat SSL.

Si busqueu un certificat SSL gratuït, hauríeu de fer una ullada a una de les nostres guies de Let's Encrypt:

Recomanat: instal·lar Let's Encrypt a DirectAdmin

Panells de control alternatius:

Guies generals:

PMF

Aquesta guia documenta la instal·lació de Brotli?

No, no hi ha cap mètode descrit per instal·lar Brotli juntament amb HTTP/2 en aquest article.

La compilació falla sense cap motiu, i he seguit els passos exactes que es descriuen en aquest article. Com ho resolc?

Tot i que hi ha molts motius possibles per a això, tenint en compte diferents entorns i similars, possiblement, la configuració regional no és correcta. Proveu de posar LC_ALL=Cdavant les vostres ordres, de manera que l'ordre per recompilar Apache es veuria així, per exemple: LC_ALL=C ./build apache No oblideu l'espai entre LC_ALL=Ci l'ordre!

Perdré alguna dada?

En cas que actualment utilitzeu una configuració de proxy inversa, per exemple amb Apache i Nginx, hauríeu de tornar-la a Apache, en aquest cas, perdrieu els fitxers de configuració de Nginx. En cas que hàgiu fet configuracions personalitzades de VirtualHost (ja sigui mitjançant la línia d'ordres o el mateix DirectAdmin), hauríeu d'alterar-les per domini perquè les versions d'Apache es mantinguin actives. No perdrà cap dada pel que fa a dades d'usuari, contingut del lloc web, bases de dades, etc.

Aquestes versions personalitzades m'impediran actualitzar paquets i programari en el futur?

En general, no cal preocupar-se per això. Tenint en compte la configuració modular de DirectAdmin (i, per tant, de CustomBuild), hauríeu de poder baixar o actualitzar a altres versions de programari en el futur sense cap problema. Tot i que hauríeu de documentar els canvis en cas que es requereixi una ruta d'actualització alternativa en el futur, no hauríeu de preocupar-vos per les versions d'incompatibilitat amb les noves versions de programari.

DirectAdmin no ofereix HTTP/2 fora de la caixa; segurament això vol dir que no és compatible o que tenen els seus motius per no ser-ho. Per què és necessària aquesta solució alternativa?

Els mètodes per instal·lar i habilitar HTTP/2 que es descriuen a continuació no són tant solucions alternatives, sinó meres actualitzacions de paquets i canvis de configuració. A causa de la configuració modular de DirectAdmin, aquests canvis estan perfectament bé i no haurien de causar problemes ni altres problemes. És difícil determinar per què DirectAdmin no admet això fora de la caixa, atès que els autors no han donat una explicació per això. Tanmateix, una conclusió bastant sòlida és que DirectAdmin fa ús dels paquets de versió del sistema operatiu. En general, aquests no estan tan actualitzats com els paquets següents. No hi ha res dolent amb HTTP/2, la tecnologia en si mateixa i la seva compatibilitat. Igual que moltes altres tecnologies, pot trigar un temps a adaptar-se de manera nativa.

Quins són els possibles riscos d'activar HTTP/2 amb Apache?

En l'activació d'HTTP/2 (que consisteix en un procés d'actualització i configuració) hi ha moltes variables que poden resultar no estàndard. El risc més gran, però, rau en l'error humà. Feu una instantània abans, assegureu-vos d'anunciar el manteniment als vostres usuaris (si n'hi ha al servidor a part de vosaltres) i aneu amb compte. A més, no copieu i enganxeu les ordres sense pensar primer què fan.

Recomano molt fer girar temporalment una instància de núvol Vultr independent amb DirectAdmin i seguir els passos. En cas que alguna cosa surti malament en una instal·lació "fresca", sabreu on i com depurar-lo per no haver de fer-ho en un entorn de producció.

Part 1: Apache (servidor web)

Si actualment feu servir un servidor intermediari invers, hauríeu de tornar a un entorn només per a Apache. Això és perquè HTTP/2 és molt difícil de depurar si alguna cosa va malament. En poder fer ús de la funcionalitat HTTP/2 integrada d'Apache, podeu eliminar de manera efectiva una gran part dels problemes.

Pas 1: actualitzar OpenSSL

En molts casos, la vostra versió d'OpenSSL no és compatible amb ALPN, que és necessari per a HTTP/2. Per tant, activem ALPN actualitzant OpenSSL.

En primer lloc, assegurem-nos que la vostra versió d'OpenSSL no sigui compatible executant:

openssl version

Si la vostra versió d'OpenSSL és inferior a 1.1.0f, executeu el següent com a root. En cas contrari, passeu al pas 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

Pas 2: instal·lació de nghttp2

Perquè HTTP/2 funcioni, hem d'instal·lar nghttp2. Nghttp2 és una implementació d'HTTP/2 (i HPACK) en C. Nghttp2 és una versió combinada del client, servidor i servidor intermediari HTTP/2 en C.

Per instal·lar nghttp2, executeu les ordres següents. Afortunadament, nghttp2 es pot construir directament des de CustomBuild.

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

Pas 3: Habilitant HTTP/2 a Apache

Hem d'alterar uns quants valors al fitxer de configuració d'Apache per tal que faci ús d'HTTP/2. Quan el servidor web no rep instruccions per utilitzar una versió HTTP alternativa, no la farà servir. Per tant, hem d'afegir HTTP/2 al fitxer de configuració.

Perquè aquests canvis tinguin efecte, és necessària una reconstrucció d'Apache mitjançant CustomBuild. Com que els paràmetres i valors utilitzats per CustomBuild quan es construeix programari es determinen en un fitxer de configuració dedicat, la millor pràctica és posar aquests canvis en un fitxer de configuració personalitzat dedicat.

Nota: si no poseu aquests canvis en un fitxer personalitzat, el més probable és que es sobreescriuran i la vostra configuració es trencarà. Si us plau, seguiu les instruccions que s'indiquen a continuació.

Executeu les ordres següents per crear el fitxer i ompliu-lo prèviament amb els valors predeterminats perquè puguem modificar-lo després:

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

A partir d'ara, tenim un fitxer personalitzat que és idèntic al fitxer de configuració predeterminat per a Apache utilitzat per CustomBuild. Hem d'alterar el /usr/local/directadmin/custombuild/custom/ap2/configure.apachefitxer substituint la cadena següent:

"--with-ssl=/usr" \

amb:

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

Nota: assegureu-vos que no hi hagi espai en blanc després de cap de les barres invertides . L'excés d'espai en blanc farà que la construcció es trenqui.

A continuació, reconstruïu Apache. CustomBuild utilitzarà el fitxer de configuració personalitzat que acabeu de crear:

./build apache

Pas 4: alteració de la configuració d'Apache

Ara s'ha reconstruït Apache amb els mòduls i la configuració necessaris per a HTTP/2. Això vol dir que ara tenim una versió d'Apache instal·lada al nostre servidor amb suport per a HTTP/2, però hem de dir-li a Apache que l'utilitzi primer.

Afegeix les següents línies a /etc/httpd/conf/extra/httpd-includes.conf:

ProtocolsHonorOrder On
Protocols h2 h2c http/1.1

Deseu aquests canvis i torneu a escriure els fitxers de configuració perquè siguin persistents durant les reconstruccions:

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

HTTP/2 ara hauria d'estar actiu al vostre servidor web (Apache).

Pas 5: reinicieu el servidor

Reinicieu el servidor per assegurar-vos que els nostres canvis persisteixen durant els reinicis. Si us plau, reinicieu el servidor mitjançant el tauler de control de Vultr o executant l' rebootordre.

Pas 6: prova HTTP/2

La funcionalitat d'HTTP/2 es pot provar fàcilment mitjançant l'eina següent: Prova HTTP/2

Tenint en compte que HTTP/2 és específic del servidor i no es pot restringir a un parell de dominis o llocs web específics, hauria de funcionar introduint qualsevol nom de domini que apunti al servidor o fins i tot l'adreça IP del servidor.

La prova us dirà si és capaç d'arribar al servidor web mitjançant HTTP/2. En cas que l'eina digui que HTTP/2 està activat al vostre servidor, ara es pot accedir als llocs web de DirectAdmin mitjançant HTTP/1.1 o HTTP/2. En cas que el suport HTTP/2 no estigui disponible per al client (visitant), el seu navegador tornarà a utilitzar HTTP/1.1.

En cas que l'eina no pugui arribar al vostre servidor web mitjançant HTTP/2, torneu a seguir els passos anteriors. En general (com que els passos anteriors no sobreescriuen res activament), això no danyarà ni trencarà la vostra configuració.

Part 2: cURL

Recomano actualitzar cURL perquè pugui arribar als servidors amb suport HTTP/2. En cas que un servidor no admeti HTTP/2, tornarà a ser HTTP/1.1.

Pas 1: afegir el fitxer de configuració personalitzat

Igual que amb Apache, crearem un fitxer de configuració personalitzat, de manera que cURL creat per CustomBuild utilitzarà la nostra configuració personalitzada.

Creeu el directori:

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

Creeu el fitxer:

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

Copieu i enganxeu el contingut següent al fitxer:

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

Com podeu veure, aquests continguts indiquen que cURL s'ha de compilar mitjançant la lib_http2biblioteca SSL.

Deseu el fitxer i doneu-li els permisos correctes:

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

Pas 2: Creació de cURL

A continuació, tot el que hem de fer és crear cURL.

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

cURL ara s'ha compilat amb suport HTTP 2.


Instal·leu Plesk a CentOS 7

Instal·leu Plesk a CentOS 7

Utilitzeu un sistema diferent? Plesk és un tauler de control d'amfitrió web propietari que permet als usuaris administrar els seus llocs web personals i/o de clients, bases de dades

Com instal·lar Squid Proxy a CentOS

Com instal·lar Squid Proxy a CentOS

Squid és un popular programa Linux gratuït que us permet crear un servidor intermediari web de reenviament. En aquesta guia, veureu com instal·lar Squid a CentOS per convertir-vos-hi

Com instal·lar Lighttpd (LLMP Stack) a CentOS 6

Com instal·lar Lighttpd (LLMP Stack) a CentOS 6

Introducció Lighttpd és una bifurcació d'Apache destinada a ser molt menys intensiu en recursos. És lleuger, d'aquí el seu nom, i és bastant senzill d'utilitzar. Instal·lant

Configuració de xarxes estàtiques i IPv6 a CentOS 7

Configuració de xarxes estàtiques i IPv6 a CentOS 7

Recentment, VULTR ha fet canvis al seu extrem, i ara tot hauria de funcionar bé des de la caixa amb NetworkManager habilitat. Si voleu desactivar

Modificació dIcinga2 per utilitzar el model mestre/client a CentOS 6 o CentOS 7

Modificació dIcinga2 per utilitzar el model mestre/client a CentOS 6 o CentOS 7

Icinga2 és un sistema de supervisió potent i, quan s'utilitza en un model de client mestre, pot substituir la necessitat de controls de monitoratge basats en NRPE. El mestre-client

Com instal·lar Apache Cassandra 3.11.x a CentOS 7

Com instal·lar Apache Cassandra 3.11.x a CentOS 7

Utilitzeu un sistema diferent? Apache Cassandra és un sistema de gestió de bases de dades NoSQL gratuït i de codi obert dissenyat per proporcionar escalabilitat, alta

Com instal·lar Microweber a CentOS 7

Com instal·lar Microweber a CentOS 7

Utilitzeu un sistema diferent? Microweber és un CMS d'arrossegar i deixar anar de codi obert i una botiga en línia. El codi font de Microweber està allotjat a GitHub. Aquesta guia us mostrarà

Com instal·lar Vanilla Forum a CentOS 7

Com instal·lar Vanilla Forum a CentOS 7

Utilitzeu un sistema diferent? Vanilla Forum és una aplicació de fòrum de codi obert escrita en PHP. És totalment personalitzable, fàcil d'utilitzar i admet externa

Com instal·lar Mattermost 4.1 a CentOS 7

Com instal·lar Mattermost 4.1 a CentOS 7

Utilitzeu un sistema diferent? Mattermost és una alternativa autoallotjada de codi obert al servei de missatgeria Slack SAAS. En altres paraules, amb Mattermost, ca

Creació duna xarxa de servidors de Minecraft amb BungeeCord a Debian 8, Debian 9 o CentOS 7

Creació duna xarxa de servidors de Minecraft amb BungeeCord a Debian 8, Debian 9 o CentOS 7

Què necessitareu Un Vultr VPS amb almenys 1 GB de RAM. Accés SSH (amb privilegis d'arrel/administrador). Pas 1: instal·lació de BungeeCord Primer de tot

Permet xifrar a Plesk

Permet xifrar a Plesk

El tauler de control de Plesk inclou una integració molt agradable per Lets Encrypt. Lets Encrypt és un dels únics proveïdors SSL que ofereix certificats complets

Permet xifrar a cPanel

Permet xifrar a cPanel

Lets Encrypt és una autoritat de certificació dedicada a proporcionar certificats SSL de manera gratuïta. cPanel ha creat una integració perfecta perquè tu i el teu client

Com instal·lar Concrete5 a CentOS 7

Com instal·lar Concrete5 a CentOS 7

Utilitzeu un sistema diferent? Concrete5 és un CMS de codi obert que ofereix moltes característiques distintives i útils per ajudar els editors a produir continguts fàcilment i

Com instal·lar el tauler de revisió a CentOS 7

Com instal·lar el tauler de revisió a CentOS 7

Utilitzeu un sistema diferent? Review Board és una eina gratuïta i de codi obert per revisar el codi font, la documentació, les imatges i molts més. És un programari basat en web

Configura lautenticació HTTP amb Nginx a CentOS 7

Configura lautenticació HTTP amb Nginx a CentOS 7

En aquesta guia, aprendràs a configurar l'autenticació HTTP per a un servidor web Nginx que s'executa a CentOS 7. Requisits Per començar, necessitareu el

Com instal·lar GoAccess a CentOS 7

Com instal·lar GoAccess a CentOS 7

Utilitzeu un sistema diferent? GoAccess és un analitzador de registres web de codi obert. Podeu utilitzar-lo per analitzar els registres en temps real al terminal o

Com instal·lar YOURLS a CentOS 7

Com instal·lar YOURLS a CentOS 7

YOURLS (Your Own URL Shortener) és una aplicació d'anàlisi de dades i escurçament d'URL de codi obert. En aquest article, tractarem el procés d'instal·lació

Com instal·lar i configurar ArangoDB a CentOS 7

Com instal·lar i configurar ArangoDB a CentOS 7

Utilitzeu un sistema diferent? Introducció ArangoDB és una base de dades NoSQL de codi obert amb un model de dades flexible per a documents, gràfics i claus-valors. És

Utilitzant Etckeeper per al control de versions de /etc

Utilitzant Etckeeper per al control de versions de /etc

Introducció El directori /etc/ té un paper crític en el funcionament d'un sistema Linux. La raó d'això és perquè gairebé totes les configuracions del sistema

Per què hauríeu dutilitzar SSHFS? Com muntar un sistema de fitxers remot amb SSHFS a CentOS 6

Per què hauríeu dutilitzar SSHFS? Com muntar un sistema de fitxers remot amb SSHFS a CentOS 6

Molts administradors de sistemes gestionen grans quantitats de servidors. Quan s'hagi d'accedir als fitxers a través de diferents servidors, inicieu sessió a cadascun individualment ca

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

La Intel·ligència Artificial no està en el futur, és aquí mateix en el present. En aquest bloc Llegiu com les aplicacions d'Intel·ligència Artificial han afectat diversos sectors.

Atacs DDOS: una breu visió general

Atacs DDOS: una breu visió general

També ets víctima d'atacs DDOS i estàs confós sobre els mètodes de prevenció? Llegiu aquest article per resoldre les vostres consultes.

Us heu preguntat mai com guanyen diners els pirates informàtics?

Us heu preguntat mai com guanyen diners els pirates informàtics?

Potser haureu sentit que els pirates informàtics guanyen molts diners, però us heu preguntat mai com guanyen aquest tipus de diners? anem a discutir.

Invents revolucionaris de Google que us facilitaran la vida.

Invents revolucionaris de Google que us facilitaran la vida.

Vols veure els invents revolucionaris de Google i com aquests invents van canviar la vida de tots els éssers humans actuals? A continuació, llegiu al bloc per veure els invents de Google.

Divendres essencial: què va passar amb els cotxes impulsats per IA?

Divendres essencial: què va passar amb els cotxes impulsats per IA?

El concepte de cotxes autònoms per sortir a les carreteres amb l'ajuda de la intel·ligència artificial és un somni que tenim des de fa temps. Però malgrat les diverses promeses, no es veuen enlloc. Llegeix aquest blog per saber-ne més...

Singularitat tecnològica: un futur llunyà de la civilització humana?

Singularitat tecnològica: un futur llunyà de la civilització humana?

A mesura que la ciència evoluciona a un ritme ràpid, fent-se càrrec de molts dels nostres esforços, també augmenten els riscos de sotmetre'ns a una singularitat inexplicable. Llegeix, què pot significar per a nosaltres la singularitat.

Evolució de lemmagatzematge de dades – Infografia

Evolució de lemmagatzematge de dades – Infografia

Els mètodes d'emmagatzematge de les dades que han anat evolucionant poden ser des del naixement de les dades. Aquest bloc tracta l'evolució de l'emmagatzematge de dades a partir d'una infografia.

Funcionalitats de les capes darquitectura de referència de Big Data

Funcionalitats de les capes darquitectura de referència de Big Data

Llegeix el blog per conèixer de la manera més senzilla les diferents capes de l'Arquitectura Big Data i les seves funcionalitats.

6 avantatges sorprenents de tenir dispositius domèstics intel·ligents a les nostres vides

6 avantatges sorprenents de tenir dispositius domèstics intel·ligents a les nostres vides

En aquest món digital, els dispositius domèstics intel·ligents s'han convertit en una part crucial de les vides. A continuació, es mostren alguns avantatges sorprenents dels dispositius domèstics intel·ligents sobre com fan que la nostra vida valgui la pena i sigui més senzilla.

Lactualització del suplement de macOS Catalina 10.15.4 està causant més problemes que no pas solucions

Lactualització del suplement de macOS Catalina 10.15.4 està causant més problemes que no pas solucions

Recentment, Apple va llançar macOS Catalina 10.15.4, una actualització de suplements per solucionar problemes, però sembla que l'actualització està causant més problemes que provoquen el bloqueig de les màquines Mac. Llegiu aquest article per obtenir més informació