Module kvarn::host

source ·
Expand description

Handling of multiple Hosts on one instance of Kvarn.

A single Host contains the certificate, caches, and preferences which are needed to run a domain.

This also implements the logic needed for [rustls] to resolve which Host to use for a connection. This is done by having an optional default and other defined by their SNI (or host header in HTTP/1). If no host is matched, the request is dropped, like when a unsecure connection is sent to a secure port.


A collection of Hosts, with an optional default and arbitrarily many others, indexed by [].
A set of settings for a virtual host, allowing multiple DNS entries (domain names) to share a single IP address.
Options for Host. Values wrapped in Options usually use hardcoded defaults when the value is None.


Per host filter output of whether or not to cache a response with some StatusCode.
An error regarding creation of a [rustls::sign::CertifiedKey].


All the supported ALPN protocols.
Extracts a [sign::CertifiedKey] from cert_path and private_key_path.

Type Definitions

A pair of [rustls::Certificate] and [sign::SigningKey].