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 build -j$(nproc)Output: 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 build -j$(nproc)See INSTALL for full build instructions.
| Option | Default | Description |
|---|---|---|
CMAKE_BUILD_TYPE |
Release |
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) |
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_http3Installed files:
lib64/httpd/modules/mod_http3.so
etc/httpd/conf.modules.d/10-h3.conf
share/doc/mod_http3/ (CHANGES, NOTICE, AUTHORS)
share/licenses/mod_http3/LICENSE
Minimal VirtualHost configuration:
LoadModule ssl_module modules/mod_ssl.so
LoadModule headers_module modules/mod_headers.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
H3CertificatePath conf/server.crt
H3CertificateKeyPath conf/server.key
Header always set Alt-Svc "h3=\":4433\"; ma=60; persist=1"
DocumentRoot htdocs
<Directory htdocs>
Require all granted
</Directory>
</VirtualHost>See INSTALL for complete deployment steps.
| File | Contents |
|---|---|
| INSTALL | Build, deploy, verify |
| CONFIGURATION.md | Advanced build options, dependency management |
| CONFIGURATION_HTTPD.md | httpd directives, VirtualHost, troubleshooting |
| docs/testing-with-curl.md | HTTP/3 testing with curl |
| docs/testing-examples.md | Example programs |
| container/README.md | Container-based testing |