lighttpd

lighttpd is a light HTTP server which can be configured as a suitable reverse proxy via the mod_proxy module.

SSL

An implementation of SSL support via the mod_openssl module using OpenSSL may appear as follows:

$SERVER["socket"] == "[::]:443" {
ssl.engine = "enable"
ssl.cipher-list = "HIGH"
$HTTP["host"] == "owncast.yourdomain.com" {
ssl.pemfile = "/etc/letsencrypt/live/yourdomain.com/fullchain.pem"
ssl.privkey = "/etc/letsencrypt/live/yourdomain.com/privkey.pem"
ssl.dh-file = "/etc/letsencrypt/ssl-dhparams.pem"
}
}

Reverse Proxy

Proxying of incoming websocket connections is integrated with the module.

An example configuration for lighttpd might appear as follows:

$HTTP["host"] == "owncast.yourdomain.com" {
proxy.forwarded = ( "host" => 1,
"proto" => 1,
"for" => 1,
"remote_user" => 1 )

    # Required for websocket (chat) forwarding:
    proxy.header = ( "upgrade" => "enable" )

}