Tiny static web server with TLS and HTTP/2 support
Static web server using the builtin Go http library.
It supports HTTP/2 and TLS.
This snap provides both an h2static
command that can be run by any user,
with access to the user home directory, and a system-wide daemon service.
The service can be configured with the following options (via snap set
):
allow-outside-symlinks
allow access to symlinks whose target is outside of the serve-path
. This
is disabled by default since it might be a security issue.
basic-auth
content of the crednetials file for Basic Authorization. Each line should
contain colon-separated pair of username and SHA512 hash of the password.
disable-h2
set to true to disable HTTP/2 support.
disable-index
set to true to disable directory index.
disable-lookup-with-suffix
set to true to disable disable matching files with .htm(l) suffix for paths
without suffix.
listen
the address:port
for the service to listen on. The address can be omitted
(e.g. :8080
) to bind all addresses.
If this option empty or null, the service will not be started.
request-path-prefix
a path prefix to be stripped for the request. This is mostly useful in the
case where the server is behind a reverse proxy with a prefix set.
serve-path
the directory to serve content from. it's set to $SNAP_COMMON
if not
specified.
If the removable-media
interface is connected, paths under /media
can
also be used.
show-dotfiles
set to true to show hidden files (starting with a dot).
tls.cert
, tls.key
ASCII contents of the TLS certificate and key. If both are set, HTTPS
support will be enabled.