2016-05-30 20:26:02 +02:00
## wonderfall/boring-nginx
2016-05-29 02:09:20 +02:00

#### What is this?
2016-05-29 02:14:20 +02:00
It is nginx statically linked against BoringSSL, with embedded Brotli support. Secured by default (no root processes, even the master one), it should be safe to use...
2016-05-29 02:09:20 +02:00
#### Features
- Based on Alpine Linux.
2016-05-30 20:26:02 +02:00
- nginx built against **BoringSSL** .
2016-05-29 02:09:20 +02:00
- nginx : HTTP/2 (+NPN) support.
- nginx : Brotli compression support (and configured).
- nginx : no root master process.
- nginx : AIO Threads support.
2016-05-29 02:14:20 +02:00
- nginx : no unnessary modules (except fastcgi).
- nginx : pcre jit enabled.
2016-05-29 02:09:20 +02:00
- nginx : optimized configuration.
2016-05-30 20:26:02 +02:00
- ngxpasswd : generates a htpasswd file easily.
- ngxproxy : generates a *proxy vhost* after asking you a few questions.
2016-05-29 02:09:20 +02:00
#### Notes
It is required to chown your certs files with the right uid/pid and change the `listen` directive to 8000/4430 instead of 80/443. Linux 3.17+, and the latest Docker stable are recommended.
#### Volumes
- **/sites-enabled** : vhosts files (*.conf)
- **/conf.d** : additional configuration files
- **/certs** : SSL/TLS certificates
- **/var/log/nginx** : nginx logs
- **/passwds** : authentication files
2016-05-29 02:39:10 +02:00
- **/www** : put your websites there
2016-05-29 02:09:20 +02:00
#### Build-time variables
- **NGINX_VERSION** : version of nginx
2016-05-29 02:14:20 +02:00
- **GPG_NGINX** : fingerprint of signing key package
- **SIGNATURE** : HTTP signature of nginx, default is *secret*
2016-05-29 02:09:20 +02:00
#### Environment variables
- **GID** : nginx group id *(default : 991)*
- **UID** : nginx user id *(default : 991)*
#### How to use it?
https://github.com/hardware/mailserver/wiki/Reverse-proxy-configuration
2016-05-30 20:26:02 +02:00
You can use `ngxproxy` to generate a *vhost* through an easy process : `docker exec -ti nginx ngxproxy`
`ngxpasswd` can generate htpasswd files : `docker exec -ti nginx ngxpasswd`
Both utilites are interactive so you won't feel lost.
2016-05-29 02:09:20 +02:00
Some configuration files located in `/etc/nginx/conf` are already provided, you can use them with the `include` directive.
2016-05-30 20:26:02 +02:00
- `ssl_params` : Provides a nice balance between compatibility and security.
- `headers_params` : HSTS (+ preload), XSS protection, etc.
- `proxy_params` : use with `proxy_pass` .