An Apache httpd module that adds HTTP/3 support over QUIC.
Status: experimental.
Default build compiles all dependencies (OpenSSL, APR, APR-util, httpd) from submodules:
git submodule update --init --recursive
cmake -B build
cmake --build buildOutput: build/lib/mod_http3.so
To use system-installed dependencies instead, provide WITH_* paths:
cmake -B build -DWITH_SSL=/opt/openssl -DWITH_HTTPD=/opt/httpd
cmake --build buildSee INSTALL for full build instructions.
| Option | Default | Description |
|---|---|---|
CMAKE_BUILD_TYPE |
Debug |
Debug, Release |
BUILD_MODULE |
ON |
Build mod_http3.so |
BUILD_EXAMPLES |
ON |
Build example programs |
BUILD_TESTS |
ON |
Build test suite |
WITH_SSL |
(empty) | Path to OpenSSL prefix (overrides source build) |
WITH_HTTPD |
(empty) | Path to httpd prefix (overrides source build) |
WITH_APR |
(empty) | Path to APR prefix (overrides source build) |
WITH_APU |
(empty) | Path to APR-util prefix (overrides source build) |
WITH_NGHTTP3 |
(empty) | Path to nghttp3 prefix (overrides source build) |
ENABLE_ASAN |
OFF |
Address Sanitizer (requires Debug) |
ENABLE_UBSAN |
OFF |
UB Sanitizer (requires Debug) |
ENABLE_WERROR |
OFF |
Treat warnings as errors |
See CONFIGURATION.md for advanced options and dependency internals.
cmake --install build --prefix /opt/mod_http3Minimal VirtualHost configuration:
LoadModule ssl_module modules/mod_ssl.so
LoadModule http3_module modules/mod_http3.so
EnableMMAP Off
Listen 4433 https
<VirtualHost *:4433>
ServerName localhost
SSLEngine on
SSLCertificateFile conf/server.crt
SSLCertificateKeyFile conf/server.key
Protocols h3 h2 http/1.1
H3CertificatePath conf/server.crt
H3CertificateKeyPath conf/server.key
DocumentRoot htdocs
<Directory htdocs>
Require all granted
</Directory>
</VirtualHost>HTTP/3 support is advertised to clients automatically via an Alt-Svc response header (H3AltSvc, on by default). See CONFIGURATION_HTTPD.md for all directives and INSTALL for complete deployment steps.
We welcome contributions of all forms, including bug reports, documentation updates, code changes, and release testing. For guidelines on our community governance, voting procedures, and coding style, please refer to CONTRIBUTING.md.