Apache不服务H2
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Apache不服务H2相关的知识,希望对你有一定的参考价值。
今天早上我致力于使我的所有网站都通过HTTPS工作,我想利用这个机会切换到HTTP2。
我的服务器正在运行Debian 8.我已经将Apache更新到2.4.29以获得H2支持。
我为我的所有域创建了TLS证书,它们都运行正常(TLS 1.2,使用letsencrypt创建)
我认为一切都配置为apache在H2中服务,但由于某种原因我只得到HTTP / 1.1协议。
我启用了http2 apache模块:
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'
资料来源:https://www.shivering-isles.com/http-2-getting-ready-on-debian-with-apache2/
我也尝试不使用这个conf文件并在主apache conf文件或虚拟主机中添加“Protocols h2 h2c http / 1.1”,但它仍然是相同的。
知道为什么Apache提供HTTP / 1.1而不是H2吗?
你用mpm_event运行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配置有一些更深层次的配置设置,如果您需要,请在评论中告诉我。
以上是关于Apache不服务H2的主要内容,如果未能解决你的问题,请参考以下文章
无法向 Apache 服务器发出 http2 请求,尽管服务器在响应标头中发送“升级:h2”
SpringCloud之Eureka-Client实现服务(Jpa,H2)
spark关于join后有重复列的问题(org.apache.spark.sql.AnalysisException: Reference '*' is ambiguous)(代码片段
环境初始化 Build and Install the Apache Thrift IDL Compiler Install the Platform Development Tools(代码片段