lighttpd未通过HTTP/2发送

lighttpd未通过HTTP/2发送,http,http2,lighttpd,Http,Http2,Lighttpd,我在Raspberry Pi 2上的Raspbian Stable上,我自己编译了lighttpd版本1.4.59 安装后,一切似乎正常: pi@Raspi:~ $ lighttpd -V lighttpd/1.4.59 - a light and fast webserver Event Handlers: + select (generic) + poll (Unix) + epoll (Linux) - /dev/poll

我在Raspberry Pi 2上的Raspbian Stable上,我自己编译了lighttpd版本1.4.59

安装后,一切似乎正常:

pi@Raspi:~ $ lighttpd -V
lighttpd/1.4.59 - a light and fast webserver

Event Handlers:

        + select (generic)
        + poll (Unix)
        + epoll (Linux)
        - /dev/poll (Solaris)
        - eventports (Solaris)
        - kqueue (FreeBSD)
        - libev (generic)

Network handler:

        + linux-sendfile
        - freebsd-sendfile
        - darwin-sendfile
        - solaris-sendfilev
        + writev
        + write
        - mmap support

Features:

        + IPv6 support
        + zlib support
        - zstd support
        - bzip2 support
        - brotli support
        + crypt support
        - OpenSSL support
        - mbedTLS support
        - NSS crypto support
        - GnuTLS support
        - WolfSSL support
        - Nettle support
        + PCRE support
        - MySQL support
        - PgSQL support
        - DBI support
        - Kerberos support
        - LDAP support
        - PAM support
        - memcached support
        - FAM support
        - LUA support
        - xml support
        - SQLite support
        - GDBM support
但这些页面似乎仍然通过“http/1.1”传输。当从服务器获取一个简单的PHP页面时,我希望看到“h2”:

HTTP/1.1 200 OK
Content-type: text/html; charset=UTF-8
Content-Length: 99966
Date: Tue, 09 Feb 2021 23:51:52 GMT
Server: lighttpd/1.4.59

@意外:如果您的客户端发出HTTP/1.1请求,则lighttpd将作为HTTP/1.1请求处理。您可以使用
mod_accesslog
将请求记录到访问日志,或者
debug.log-request-header=“enable”
将lighttpd日志记录到错误日志,前提是您的客户端正在发出HTTP/1.1请求,或者HTTP/2已经协商


请参见
man curl
,特别是
--http2
--http2先验知识
命令行选项,即使您的目标是http而不是https。

http/2仅在TLS(https URL)上工作。您使用的是
http
还是
https
否!那一定是原因。。。我来试试,确切的要求是什么?@Evert:你错了。如果服务器支持,HTTP/2可以在明文上工作。lighttpd支持升级:h2和HTTP/2“先验知识”。请参见
man curl
,特别是
--http2
--http2先验知识
命令行选项,即使您的目标是http而不是https。@gstrauss是的,纯文本http/2适用于某些客户端。浏览器不支持这一点。细微差别是有帮助的。