【问题标题】:How to implement http2 without ssl in Apache 2.4.18 Server如何在 Apache 2.4.18 Server 中实现没有 ssl 的 http2
【发布时间】:2016-06-30 12:07:34
【问题描述】:

我创建了一个使用 HTTP/2 协议的网站,该网站在 Apache 2.4.18 HTTP 服务器上运行。目前我已经使网站启用了 SSL,因为我在某处读到 HTTP/2 默认需要 SSL。我可能不需要确保我的网站安全,所以我不想花钱购买 SSL 证书。

有没有办法在不使用 SSL 配置的情况下实现 HTTP2 协议? 如果是,我应该在 httpd.conf 文件中写入哪些配置设置? 我是否需要更改浏览器的任何属性/设置 - Chrome/Firefox 等?

【问题讨论】:

    标签: apache ssl httpd.conf http2


    【解决方案1】:

    据我所知,如果您通过 HTTP 而不是 HTTPS 连接到网站,大多数网络浏览器都不会使用 HTTP2 协议。

    有很多地方可以免费获得SSL证书,例如StartSSLUniversal SSLLet’s Encrypt(见here)等。该证书可能不是很长一段时间,并且没有一些额外的属性,如时间戳(如here),但它仍然可以使用。您仍然可以免费使用该证书。

    您可以阅读here,例如Apache HTTP Server 中HTTP2 的配置说明。最重要的是使用最新版本的OpenSSL 和最新版本的 Apache Server。我建议您阅读有关 HTTP2 的 the article,查看 the video 和相应的幻灯片 here,了解使 TLS 更快并通过 the checklist

    【讨论】:

    • 为什么:“在您的服务器上禁用 TLS 压缩。”? TLS 压缩有什么问题?
    • @Geremia:有很多原因。您可以找到herehere 中最重要的描述之一。
    • 谢谢。我试图弄清楚为什么在我使用this 配置我的 Apache SSL 设置后,我托管的 wiki 页面不再使用 HTTP/2。
    • 不客气!首先,重要的是要了解 Apache 和 OpenSSL 的版本以及您使用的操作系统以及 TLS 的配置方式。你有服务器在线吗?它的网址是哪个?
    • 我在 Linux 上使用 Apache 2.4.18 和 OpenSSL 1.0.2g。我是否需要 mod_http2,即使 Apache 2.4.18 应该内置 HTTP/2?我的 TLS 配置在 ssllabs.com 上获得 A+ 评级,这是我在 this 的帮助下配置的。我可以将Protocols h2 http/1.1 放入httpd.conf 并运行apachectl restart 而不会抱怨。那么,当我访问该站点时,为什么 Curl、Firefox 或 Chrome 不使用 HTTP/2?
    猜你喜欢
    • 2016-12-15
    • 2017-01-10
    • 2019-11-21
    • 1970-01-01
    • 2017-07-06
    • 2013-06-17
    • 2016-04-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多