1The http2 module adds support for the HTTP/2 protocol to the server. 2 3Specifically, it supports the protocols "h2" (HTTP2 over TLS) and "h2c" 4(HTTP2 over plain HTTP connections via Upgrade). Additionally it offers 5the "direct" mode for both encrypted and unencrypted connections. 6 7You may enable it for the whole server or specific virtual hosts only. 8 9 10BUILD 11 12If you have libnghttp2 (https://nghttp2.org) installed on your system, simply 13add 14 15 --enable-http2 16 17to your httpd ./configure invocation. Should libnghttp2 reside in a unusual 18location, add 19 20 --with-nghttp2=<path> 21 22to ./configure. <path> is expected to be the installation prefix, so there 23should be a <path>/lib/libnghttp2.*. If your system support pkg-config, 24<path>/lib/pkgconfig/libnghttp2.pc will be inspected. 25 26If you want to link nghttp2 statically into the mod_http2 module, you may 27similarly to mod_ssl add 28 29 --enable-nghttp2-staticlib-deps 30 31For this, the lib directory should only contain the libnghttp2.a, not its 32shared cousins. 33 34 35CONFIGURATION 36 37If mod_http2 is enabled for a site or not depends on the new "Protocols" 38directive. This directive list all protocols enabled for a server or 39virtual host. 40 41If you do not specify "Protocols" all available protocols are enabled. For 42sites using TLS, the protocol supported by mod_http2 is "h2". For cleartext 43http:, the offered protocol is "h2c". 44 45The following is an example of a server that only supports http/1.1 in 46general and offers h2 for a specific virtual host. 47 48 ... 49 Protocols http/1.1 50 <virtualhost *:443> 51 Protocols h2 http/1.1 52 ... 53 </virtualhost> 54 55Please see the documentation of mod_http2 for a complete list and explanation 56of all options. 57 58 59TLS CONFIGURATION 60 61If you want to use HTTP/2 with a browser, most modern browsers will support 62it without further configuration. However, browsers so far only support 63HTTP/2 over TLS and are especially picky about the certificate and 64encryption ciphers used. 65 66Server admins may look for up-to-date information about "modern" TLS 67compatibility under: 68 69 https://wiki.mozilla.org/Security/Server_Side_TLS#Modern_compatibility 70 71