Nginx is a lightweight web server/reverse proxy server and email (IMAP/POP3) proxy server, distributed under a BSD-like protocol, available on UNIX, GNU/Linux, Run on operating systems such as BSD, Mac OS X, Solaris, and Microsoft Windows.
Basic HTTP server features
- Serving static and index files, autoindexing; open file descriptor cache;
- Accelerated reverse proxying with caching; load balancing and fault tolerance;
- Accelerated support with caching of FastCGI, uwsgi, SCGI, and memcached servers; load balancing and fault tolerance;
- Modular architecture. Filters include gzipping, byte ranges, chunked responses, XSLT, SSI, and image transformation filter. Multiple SSI inclusions within a single page can be processed in parallel if they are handled by proxied or FastCGI/uwsgi/SCGI servers;
- SSL and TLS SNI support;
- Support for HTTP/2 with weighted and dependency-based prioritization.
Other HTTP server features
- Name-based and IP-based virtual servers;
- Keep-alive and pipelined connections support;
- Access log formats, buffered log writing, fast log rotation, and syslog logging;
- 3xx-5xx error codes redirection;
- The rewrite module: URI changing using regular expressions;
- Executing different functions depending on the client address;
- Access control based on client IP address, by password (HTTP Basic authentication) and by the result of subrequest;
- Validation of HTTP referer;
- The PUT, DELETE, MKCOL, COPY, and MOVE methods;
- FLV and MP4 streaming;
- Response rate limiting;
- Limiting the number of simultaneous connections or requests coming from one address;
- IP-based geolocation;
- A/B testing;
- Request mirroring;
- Embedded Perl;
Nginx stable version 1.14.2 has been released.
- *) Bugfix: nginx could not be built by gcc 8.1.
- *) Bugfix: nginx could not be built on Fedora 28 Linux.
- *) Bugfix: in handling of client addresses when using unix domain listen sockets to work with datagrams on Linux.
- *) Change: the logging level of the “http request”, “https proxy request”, “unsupported protocol”, “version too low”, “no suitable key share”, and “no suitable signature algorithm” SSL errors has been lowered from “crit” to “info”.
- *) Bugfix: when using OpenSSL 1.1.0 or newer it was not possible to switch off “ssl_prefer_server_ciphers” in a virtual server if it was switched on in the default server.
- *) Bugfix: nginx could not be built with LibreSSL 2.8.0.
- *) Bugfix: if nginx was built with OpenSSL 1.1.0 and used with OpenSSL 1.1.1, the TLS 1.3 protocol was always enabled.
- *) Bugfix: sending a disk-buffered request body to a gRPC backend might fail.
- *) Bugfix: connections with some gRPC backends might not be cached when using the “keepalive” directive.
- *) Bugfix: a segmentation fault might occur in a worker process if the ngx_http_mp4_module was used on 32-bit platforms.