San Diego Finance

Oct 17 2017

nginx [engine x] is an HTTP and reverse proxy server, a mail proxy server, and

The sources and documentation are distributed under the 2-clause BSD-like license.

Commercial support is available from Nginx, Inc.

Basic HTTP server features

Other HTTP server features

Mail proxy server features

  • User redirection to IMAP or POP3 server using an external HTTP authentication server;
  • User authentication using an external HTTP authentication server and connection redirection to an internal SMTP server;
  • Authentication methods:
    • POP3. USER/PASS, APOP, AUTH LOGIN/PLAIN/CRAM-MD5;
    • IMAP. LOGIN, AUTH LOGIN/PLAIN/CRAM-MD5;
    • SMTP. AUTH LOGIN/PLAIN/CRAM-MD5;
  • SSL support;
  • STARTTLS and STLS support.

TCP/UDP proxy server features

Architecture and scalability

  • One master and several worker processes; worker processes run under an unprivileged user;
  • Flexible configuration ;
  • Reconfiguration and upgrade of an executable without interruption of the client servicing;
  • Support for kqueue (FreeBSD 4.1+), epoll (Linux 2.6+), /dev/poll (Solaris 7 11/99+), event ports (Solaris 10), select, and poll;
  • The support of the various kqueue features including EV_CLEAR, EV_DISABLE (to temporarily disable events), NOTE_LOWAT, EV_EOF, number of available data, error codes;
  • The support of various epoll features including EPOLLRDHUP (Linux 2.6.17+, glibc 2.8+) and EPOLLEXCLUSIVE (Linux 4.5+, glibc 2.24+);
  • sendfile (FreeBSD 3.1+, Linux 2.2+, macOS 10.5+), sendfile64 (Linux 2.4.21+), and sendfilev (Solaris 8 7/01+) support;
  • File AIO (FreeBSD 4.3+, Linux 2.6.22+);
  • DIRECTIO (FreeBSD 4.4+, Linux 2.4+, Solaris 2.6+, macOS);
  • Accept-filters (FreeBSD 4.1+, NetBSD 5.0+) 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.

Tested OS and platforms

  • FreeBSD 3 — 11 / i386; FreeBSD 5 — 11 / amd64;
  • Linux 2.2 — 4 / i386; Linux 2.6 — 4 / amd64; Linux 3 — 4 / armv6l, armv7l, aarch64, ppc64le;
  • Solaris 9 / i386, sun4u; Solaris 10 / i386, amd64, sun4v;
  • AIX 7.1 / powerpc;
  • HP-UX 11.31 / ia64;
  • macOS / ppc, i386;
  • Windows XP, Windows Server 2003.

Written by admin


Leave a Reply

Your email address will not be published. Required fields are marked *