私のWebサーバーでは、H2(http2)を動作させようとしています。 "ondrej"リポジトリ経由でApache 2.4.20をインストールしました。私はDebian 8とUbuntu 14.04のサーバでテストしましたが、私は同じ問題を抱えています。 OpenSSL 1.0.2とSSL仮想ホストが動作しています。ブラウザはH2にアップグレードされません。「アップグレード」ヘッダーが送信されます
奇妙なことは、アップグレードヘッダー(Connection:upgradeとUpgrade:h2)が送信されることです。いくつかの外部サーバーテストを行うと、h2がALPNサポートで正しく動作しているという応答が得られます。しかし、私が試したブラウザ(Win7のChromeとFireFox)はH2にアップグレードされません。
私が気付いたのは、HTTP2-Settingsヘッダーですが、これを実装したりApacheにこのヘッダーを送信させたりするためにApacheのドキュメントでは何も見つかりません。
悲しいことに私はcUrlでテストできませんでした。なぜなら、私がアクセスしたサーバーはhttp2をサポートしているバージョンをサポートしていないからです。
マイSSLのバーチャルホストの設定:
Protocols h2 http/1.1
SSLEngine On
SSLCACertificateFile xxxxxxxx
SSLProtocol all -SSLv2 -SSLv3
SSLCompression Off
SSLHonorCipherOrder On
SSLCipherSuite "EECDH+ECDSA+AESGCM EECDH+aRSA+AESGCM EECDH+ECDSA+SHA384 EECDH+ECDSA+SHA256 EECDH+aRSA+SHA384 EECDH+aRSA+SHA256 EECDH+aRSA+RC4 EECDH EDH+aRSA RSA+AES RC4 !aNULL !eNULL !LOW !3DES !MD5 !EXP !PSK !SRP !DSS !RC4 !AES128"
Header always set Strict-Transport-Security "max-age=15552000;includeSubDomains"
SSLCertificateFile xxxxxxxx
SSLCertificateKeyFile xxxxxxxx
私はpreforkのモジュールではなく、労働者とのApacheを実行していますよ。
何が間違っているのですか?
mod_http2をインストールした後も同じ症状でした。私の場合は、php-fpm(https://techwombat.com/enable-http2-apache-ubuntu-16-04/で説明したように)を使用して、私のために最後に解決しました。他人がこのように来る場合に備えて、ただそれを投げてください! –