51 lines
1.9 KiB
Markdown
51 lines
1.9 KiB
Markdown
|
||
Sesimos – Secure, simple, modern web server
|
||
===========================================
|
||
|
||
## Features
|
||
|
||
* Full IPv4 and IPv6 support
|
||
* TLS Server Name Inspection (SNI)
|
||
* Serving local files via HTTP and HTTPS
|
||
* File compression ([gzip](https://www.gzip.org/), [Brotli](https://www.brotli.org/))
|
||
* Disk cache for compressed files
|
||
* Reverse proxy for other HTTP and HTTPS servers
|
||
* Transparent WebSocket reverse proxy
|
||
* FastCGI support (e.g. [PHP-FPM](https://php-fpm.org/))
|
||
* Automatic path info detection (e.g. `/my/file/extra/path` -> script: `/my/file.php`, path info: `extra/path`)
|
||
* Support for [MaxMind's GeoIP Database](https://www.maxmind.com/en/geoip2-services-and-databases)
|
||
* Optional DNS reverse lookup for connecting hosts
|
||
* Automatic URL rewrite (e.g. `/index.html` -> `/`, `/test.php` -> `/test`)
|
||
* Modern looking and responsive error documents
|
||
|
||
|
||
## Configuration
|
||
|
||
See [doc/example.conf](doc/example.conf) for more details.
|
||
|
||
|
||
### Global directives
|
||
|
||
* `geoip_dir` (optional) - path to a directory containing GeoIP databases
|
||
* `dns_server` (optional) - address of a DNS server
|
||
|
||
|
||
### Configuration
|
||
|
||
* `[cert <cert-name>]` - begins section for a certificate
|
||
* `certificate` - path to SSL certificate (or certificate chain)
|
||
* `private_key` - path to SSL private key
|
||
* `[host <host>]` - begins section for the virtual host `<host>`
|
||
* `cert` - the name of the certificate to use
|
||
* Local
|
||
* `webroot` - path to the root directory
|
||
* `dir_mode` - specify the behaviour for directories without an `index.html` or `index.php`
|
||
* `forbidden` - the server will respond with `403 Forbidden`
|
||
* `info` - try passing *path info* to an upper `.php` file.
|
||
* `list` - list contents of directory (**not implemented yet**)
|
||
* Reverse proxy
|
||
* `hostname` - hostname of server to be reverse proxy of
|
||
* `port` - port to be used
|
||
* `http` - use HTTP to communicate with server
|
||
* `https` - use HTTPS to communicate with server
|