Basic HTTP features:
* Handling of static files, index files, and autoindexing; open file descriptor cache;
* Accelerated reverse proxying without caching, simple load balancing and fault tolerance;
* Accelerated support without caching of remote FastCGI servers, simple load balancing and fault tolerance;
* Modular architecture. Filters include gzipping, byte ranges, chunked responses, and SSI. Multiple SSI inclusions within a single page can be processed in parallel if they are handled by FastCGI or proxied servers.
* SSL and TLS SNI support.
Mail proxy server features:
* User redirection to IMAP/POP3 backend using an external HTTP authentication server;
* User authentication using an external HTTP authentication server and connection redirection to internal SMTP backend;
* Authentication methods:
o POP3: USER/PASS, APOP, AUTH LOGIN PLAIN CRAM-MD5;
o IMAP: LOGIN, AUTH LOGIN PLAIN CRAM-MD5;
o SMTP: AUTH LOGIN PLAIN CRAM-MD5;
* SSL support;
* STARTTLS and STLS support.
Tested OS and platforms:
* FreeBSD 3.x, 4.x, 5.x, 6.x, 7.x i386; FreeBSD 5.x, 6.x amd64;
* Linux 2.2, 2.4, 2.6 i386; Linux 2.6 amd64;
* Solaris 9 i386, sun4u; Solaris 10 i386, amd64, sun4v;
* MacOS X (10.4) ppc;
Architecture and scalability:
* one master process and several workers processes. The workers run as unprivileged user;
* kqueue (FreeBSD 4.1+), epoll (Linux 2.6+), rt signals (Linux 2.2.19+), /dev/poll (Solaris 7 11/99+), event ports (Solaris 10), select, and poll support;
* various kqueue features support including EV_CLEAR, EV_DISABLE (to disable event temporalily), NOTE_LOWAT, EV_EOF, number of available data, error codes;
* sendfile (FreeBSD 3.1+), sendfile (Linux 2.2+), sendfile64 (Linux 2.4.21+), and sendfilev (Solaris 8 7/01+) support;
* accept-filter (FreeBSD 4.1+) and TCP_DEFER_ACCEPT (Linux 2.4+) support;
* 10,000 inactive HTTP keep-alive connections take about 2.5M memory;
* data copy operations are kept to a minimum.
Other HTTP features:
* name- and IP-based virtual servers;
* keep-alive and pipelined connections support;
* flexible configuration;
* reconfiguration and online upgrade without interruption of the client processing;
* access log formats, bufferred writing, and quick log rotation;
* 4xx-5xx error codes redirection;
* rewrite module;
* access control based on client IP address and HTTP Basic authentication;
* PUT, DELETE, MKCOL, COPY and MOVE methods;
* FLV streaming;
* speed limitation;
* limitation of simultaneous connections from one address.
Experimental features:
* embedded perl.