rust-web-server 18.6.0

Single-binary web server and reverse proxy: automatic HTTPS (Let's Encrypt), HTTP/1.1, HTTP/2 and HTTP/3, load balancing, auth and rate limiting, configured in one TOML file. Also a Rust library: routing, middleware, MCP server, ORM, background jobs. No hyper, no Tower; HTTP/2 and HTTP/3 framing via h2 and quinn.
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# rws settings: https://rws8.tech/configuration/config-file/
# The service serves the files in /var/www/rws. Apply a change with
#   sudo rws --check /etc/rws/rws.config.toml && sudo systemctl reload rws

ip = '0.0.0.0'
port = 7878
# Ports below 1024 work too (the unit grants CAP_NET_BIND_SERVICE):
# port = 80

# HTTPS (HTTP/2 and HTTP/3 follow): a certificate the rws user can read,
# or automatic certificates from Let's Encrypt (https://rws8.tech/features/acme/).
# tls_cert_file = '/etc/rws/cert.pem'
# tls_key_file  = '/etc/rws/key.pem'

# Access log: stdout (the journal: journalctl -u rws) unless set.
# access_log = '/var/log/rws/access.log'