Încerc să configurez suportul HTTP/2, dar ceva nu merge bine
Serverul meu este un motor de calcul Google care rulează versiunea de server Debian 9.13 (stretch) Apache/2.4.25 cu certificate SSL configurate folosind OpenSSL. Când alerg versiunea openssl
raportează versiunea 1.1.1g. Când alergi phpinfo();
raportează OpenSSL/1.0.2u
. PHP versiunea 7.4.11 și phpinfo();
raporteaza si...
SSL_VERSION_INTERFACE -> mod_ssl/2.4.25
SSL_VERSION_LIBRARY -> OpenSSL/1.0.2u
SSL_PROTOCOL -> TLSv1.2
Am urmat instrucțiunile Aici la „Activați modulul HTTP/2 în Apache” și „Activați HTTP/2 în gazda virtuală Apache” și, de asemenea Aici. După ce fac asta, când rulez comanda apache2ctl -M | grep http2
se întoarce http2_module (partajat)
care semnalează că suportul HTTP/2 este activat. Dar nu este în producție.
Iată linia folosită în fișierul meu de configurare a gazdelor virtuale apache2 /etc/apache2/sites-available/default-ssl.conf
<VirtualHost _default_:443>
Protocoale h2 h2c http/1.1
...
Iată informațiile detaliate despre conexiune când se utilizează curl -vso http2_debug.log --http2 https://pharealty.com/
comandă care descarcă cu succes pagina.
* Se încearcă 35.236.101.224...
* TCP_NODELAY setat
* Conectat la pharealty.com (35.236.101.224) portul 443 (#0)
* ALPN, oferind h2
* ALPN, oferind http/1.1
* Selectare cifra: ALL:!EXPORT:!EXPORT40:!EXPORT56:!aNULL:!LOW:!RC4:@STRENGTH
* setați cu succes locațiile de verificare a certificatelor:
* CAfile: /etc/ssl/certs/ca-certificates.crt
CApath: /etc/ssl/certs
* TLSv1.2 (OUT), antet TLS, stare certificat (22):
} [date de 5 octeți]
* TLSv1.2 (OUT), strângere de mână TLS, salut client (1):
} [date de 512 octeți]
* TLSv1.2 (IN), strângere de mână TLS, salut server (2):
{ [date de 109 octeți]
* TLSv1.2 (IN), strângere de mână TLS, Certificat (11):
{ [date de 4036 de octeți]
* TLSv1.2 (IN), strângere de mână TLS, schimb de chei de server (12):
{ [date de 333 de octeți]
* TLSv1.2 (IN), TLS handshake, Server terminat (14):
{ [date de 4 octeți]
* TLSv1.2 (OUT), TLS handshake, Schimb cheie client (16):
} [70 de octeți de date]
* TLSv1.2 (OUT), cifra de schimbare TLS, salut client (1):
} [1 octeți de date]
* TLSv1.2 (OUT), TLS handshake, Terminat (20):
} [date de 16 octeți]
* TLSv1.2 (IN), cifra de schimbare TLS, salut client (1):
{ [date de 1 octet]
* TLSv1.2 (IN), strângere de mână TLS, Terminat (20):
{ [date de 16 octeți]
* Conexiune SSL folosind TLSv1.2 / ECDHE-RSA-AES256-GCM-SHA384
* ALPN, server acceptat să utilizeze http/1.1
* Certificat de server:
* subiect: CN=pharealty.com
* data începerii: 10 iulie 01:53:04 2021 GMT
* data expirării: 8 octombrie 01:53:03 2021 GMT
* subjectAltName: gazda „pharealty.com” a corespuns certificatului „pharealty.com”
* emitent: C=US; O=Let's Encrypt; CN=R3
* Verificare certificat SSL ok.
} [date de 5 octeți]
> GET / HTTP/1.1
> Gazdă: pharealty.com
> User-Agent: curl/7.52.1
> Accept: */*
>
{ [date de 5 octeți]
< HTTP/1.1 200 OK
< Data: miercuri, 08 septembrie 2021 17:20:21 GMT
< Server: Apache
< Actualizare: h2,h2c
< Conexiune: Upgrade
< Set-Cookie: PHPSESSID=1mv9jqka4n7c7fb6qmtavfsgue; cale=/
< Expiră: joi, 19 noiembrie 1981 08:52:00 GMT
< Cache-Control: fără stocare, fără cache, revalidare obligatorie
< Pragma: fără cache
< X-Pingback: https://pharealty.com/xmlrpc.php
< Link: <https://pharealty.com/wp-json/>; rel="https://api.w.org/"
< Link: <https://pharealty.com/wp-json/wp/v2/pages/48>; rel="alternativ"; type="application/json"
< Link: <https://pharealty.com/>; rel=legatura scurta
< Set-Cookie: phaLandingPage=%2F; expiră=Tu, 08-Mar-2022 17:20:21 GMT; Max-Age=15638400; cale=/
< Variază: Acceptare-Codificare
< Transfer-Coding: fragmentat
< Content-Type: text/html; set de caractere=UTF-8
<
{ [date de 7 octeți]
* Curl_http_done: numit prematur == 0
* Conexiunea #0 la gazda pharealty.com a rămas intactă
Se pare că la început funcționează perfect, apoi mai târziu revine la HTTP/1.1
Din câte îmi pot da seama, am o versiune suficient de nouă de OpenSSL. Și deși această pagină pe care am menționat-o anterior recomandă cu căldură o versiune de apache mai mare decât 2.4.25, nu am reușit să actualizez apache la altceva decât 2.4.25.
Trebuie să configurez un nou certificat SSL după ce fac schimbarea? Versiunea de apache este cea care cauzează problemele?
Am testat site-ul pe mai multe site-uri de testare http/2 și nu reușește de fiecare dată.