Apache不提供H2服务
今天早上,我致力于让我所有的网站通过HTTPS工作,我想利用这个机会切换到HTTP2 我的服务器正在运行Debian8。我已经将Apache更新为2.4.29以获得H2支持 我已经为我的所有域创建了TLS证书,它们都工作正常(TLS 1.2,使用letsencrypt创建) 我认为apache在H2中的所有配置都是正确的,但出于某种原因,我只得到HTTP/1.1协议 我已经启用了http2 apache模块:Apache不提供H2服务,apache,http,debian,h2,tls1.2,Apache,Http,Debian,H2,Tls1.2,今天早上,我致力于让我所有的网站通过HTTPS工作,我想利用这个机会切换到HTTP2 我的服务器正在运行Debian8。我已经将Apache更新为2.4.29以获得H2支持 我已经为我的所有域创建了TLS证书,它们都工作正常(TLS 1.2,使用letsencrypt创建) 我认为apache在H2中的所有配置都是正确的,但出于某种原因,我只得到HTTP/1.1协议 我已经启用了http2 apache模块: a2enmod http2 我还创建了一个http2.conf(我也启用了它),其中
a2enmod http2
我还创建了一个http2.conf(我也启用了它),其中包含以下信息:
Protocols h2 h2c http/1.1
H2Push on
H2PushPriority * after
H2PushPriority text/css before
H2PushPriority image/jpeg after 32
H2PushPriority image/png after 32
H2PushPriority application/javascript interleaved
SSLProtocol all -SSLv2 -SSLv3
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 !RC4 !aNULL !eNULL !LOW !3DES !MD5 !EXP !PSK !SRP !DSS'
资料来源:
我还尝试不使用这个conf文件,并在主apache conf文件或虚拟主机中添加“Protocols h2 h2c http/1.1”,但仍然是一样的
你知道为什么Apache提供的是HTTP/1.1而不是H2吗?你运行的是带有mpm_事件的apache2吗? 然后,还需要为PHP启用fastcgi处理程序,激活PHP fpm的配置并禁用PHP apache2模块 您的命令如下所示:
root@host:/etc/apache2# a2dismod php7.2
root@host:/etc/apache2# a2enmod proxy proxy_fcgi
root@host:/etc/apache2# a2enconf php7.2-fpm
root@host:/etc/apache2# a2dismod mpm_prefork
root@host:/etc/apache2# a2enmod mpm_event
Enabling module mpm_event.
To activate the new configuration, you need to run:
systemctl restart apache2
root@host:/etc/apache2# systemctl restart apache2
用您的版本替换PHP版本号(我使用7.2)。如果您需要的话,可以在注释中告诉我PHP fcgi配置的一些更深入的配置设置