Apache Web服务器配置http2各种失败
我在 Debian Stretch 最新稳定版 9.6 的系统下通过 Apt 源安装了 Apache 2.4.25 ,想配置 http2 协议支持,首先 a2enmod 了 http2 模块,确保已开启。然后 sites 文件里写了 Protocols h2 http/1.1 ,接着检查了 openssl 版本为 1.1.0,然后查阅了 Apache Httpd 的文档和 Linux.cn 和 CSDN 。可是在 myssl.com 的检查中仍然提示只支持http1.1,并显示 ALPN 只有 http1.1 ,我的地址是 something.123.abc,在同一台设备上用 curl 测了一下,先是
- Rebuilt URL to: https://some.domain.here/
- Trying 1.2.3.4...
- TCP_NODELAY set
- Connected to abc.efg.hji (12.34.56.78) port 443 (#0)
- ALPN, offering h2
- ALPN, offering http/1.1
- Cipher selection: ALL:!EXPORT:!EXPORT40:!EXPORT56:!aNULL:!LOW:!RC4:@STRENGTH
- successfully set certificate verify locations:
- CAfile: /etc/ssl/certs/ca-certificates.crt
CApath: /etc/ssl/certs
看到 ALPN 同时提供 http2 和 http1.1 ,握手之后
- SSL connection using TLSv1.2 / ECDHE-ECDSA-AES128-GCM-SHA256
- ALPN, server accepted to use http/1.1
- Server certificate:
- <此处是证书信息>
- SSL certificate verify ok.
又看到
ALPN, server accepted to use http/1.1
再次求助谷歌无果,遂尝试把这个配置在 http 不带 s 的哪里复制粘贴,然后把 h2 改成 h2c 的情况下用 curl 再测,仍旧不能使用。具体信息为
- Rebuilt URL to: http://*/
- Trying 123.000.456.789...
- TCP_NODELAY set
- Connected to .. (1.23.456.78) port 80 (#0)
GET / HTTP/1.1
Host: **sssss
User-Agent: curl/7.52.1
Accept: /
Connection: Upgrade, HTTP2-Settings
Upgrade: h2c
HTTP2-Settings: AAMAAABkAARAAAAA
虽然带有这个头,但是内容是直接返回 HTTP1.1 的东西,所以检查了各种配置,无法解决这个问题了,请各位大佬帮帮忙
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
自己解决了。后调log时发现php7.3走Apache2handle时调用到了mpm,而这玩意不支持http2,真nb。现在切换到了Debian buster,问题还是一样,经检验用Apache2走php7.3-fpm可以解决问题,但是只要走Apache2的module就没辙