Apache Web服务器配置http2各种失败

发布于 2022-09-11 18:04:31 字数 1764 浏览 29 评论 0

我在 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

给不了的爱 2022-09-18 18:04:31

自己解决了。后调log时发现php7.3走Apache2handle时调用到了mpm,而这玩意不支持http2,真nb。现在切换到了Debian buster,问题还是一样,经检验用Apache2走php7.3-fpm可以解决问题,但是只要走Apache2的module就没辙

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文