Apache:2.4.23
配置http.conf添加行:
LoadModule http2_module modules/mod_http2.so
配置httpd-vhosts.conf:
<VirtualHost *:80>
DocumentRoot "C:/apache/test7.ru/www"
ServerName test7.ru
Protocols h2c http/1.1
ServerAlias www.test7.ru
ErrorLog "C:/apache/test7.ru/error.log"
CustomLog "C:/apache/test7.ru/access.log" common
</VirtualHost>
但是在access.log中:HTTP / 1.1。 我做错了什么?
答案 0 :(得分:0)
我认为你是从网络浏览器连接的?如果是这样,那将无法工作,因为Web浏览器仅支持HTTP / 2通过HTTPS(h2),并且由于this answer中给出的原因,没有人支持纯文本(h2c)。您可以在caniuse上看到每个浏览器都有2个符号。
因此您需要启用HTTPS,协议h2。此外,大多数浏览器还需要适当的HTTPS(ALPN支持和强密码),需要OpenSSL 1.0.2或更高版本。
因此h2c实际上只对后端连接有用(例如,如果您在App服务器前面有Apache作为代理),但即便如此,我也质疑它的实用性,因为大多数优势都来自低延迟,低带宽连接。客户端到服务器,而不是高延迟,高带宽连接,这是服务器到服务器连接的典型连接。