NGINX Plus Technical Specifications


NGINX Plus Technical Specifications

Supported Platforms

NGINX Plus is available in binary form only; it is not available in source form. Please inquire for additional platforms and modules.

Supported Platforms

  • FreeBSD 9.3, 10.0 (amd64)
  • RedHat 5.9, 6.5, 7 (i386/x86_64)
  • CentOS 5.9, 6.5, 7 (i386/x86_64)
  • Debian 6, 7 (i386/x86_64)
  • Ubuntu 10.04 LTS, 12.04 LTS, 14.04 LTS, 14.10 (i386/x86_64)
  • Ubuntu 14.04 LTS (aarch64)
  • SUSE Linux Enterprise Server 11 SP3, 12 (x86_64)
  • Amazon EC2, Microsoft Azure

Platform Notes

NGINX Plus features

NGINX Plus provides a complete set of web serving, proxying, acceleration and load balancing capabilities for HTTP-based services:

Protocols and performance

  • HTTP/1.1, HTTPS, SPDY, WebSocket
  • IMAP, POP3, SMTP with external HTTP based authentication
  • IPv4 and IPv6
  • 1 million concurrent connections
  • 10,000+ virtual servers multi-tenancy
  • Connection multiplexing pools for low latency communications

Load Balancing

  • Full Layer-7 reverse proxy
  • HTTP, HTTPS, FastCGI, SCGI, uwsgi, memcached
  • TCP Load Balancing
  • URL/URI content-based request routing
  • Reverse proxy and load balancer with round-robin, least-connections, ip-hash, generic-hash
  • Session persistence with cookie-insert, session-learn and defined-route
  • Session draining for easy maintenance
  • Application backend health monitoring with synthetic transactions and slow-start

High Availability

  • Active-Standby (NGINX AMI and standalone)
  • Live binary upgrades to eliminate downtime
  • Graceful restart with non-stop request processing

Security

  • Bandwidth, connection and request policing
  • Protocol isolation and request filtering
  • Header scrubbing and manipulation

Edge Cache and Origin Server

  • Content offload and caching
  • Lightweight cache revalidation
  • Cache Vary support
  • Serve stale content if origin server has failed
  • On-the-fly content compression and optimization
  • HTTP video streaming with MP4/FLV/HDS/HLS

SSL Termination

  • TLSv1.1/TLSv1.2/SSL/SNI/PFS/PCI-DSS
  • Client and Server-side certificate validation
  • OCSP Stapling

Configuration and Management

  • Live reconfiguration of server pools to change upstream settings on the fly
  • Activity monitoring
  • Geo-IP configuration decisions
  • Logging to syslog

Included Modules

Additional Features

Recommended Hardware

NGINX Plus was designed and optimized for use on generic server hardware. A common recommendation for an edge server capable of serving 3-6Gbps of live traffic and 20-50K requests per second is the following:

  • 4 Xeon E5 series CPUs, 2-8 core per CPU
  • 16-32GB RAM
  • 6 x 250GB SSD drives
  • 10G Intel networking card

NGINX Plus modules

NGINX Plus includes the following modules from NGINX F/OSS:

HTTP core

  • HTTP Core: basic HTTP configuration
  • Auto Index: Generate directory listings
  • Index: Specify index files used in directory requests
  • Gzip: GZIP compression of HTTP responses
  • Headers: Add headers to HTTP responses
  • Charset: Character set tagging and transformation
  • Empty GIF: Generate empty image response
  • SSI: Perform Server Side Include processing
  • User ID: Add unique ‘User ID’ cookies
  • Gzip Static: Serve pre-compressed files from disk
  • Gunzip: Decompress responses for clients that don’t support compression
  • Random Index: Select random indes file for directory request
  • Real IP: Determine true origin IP address for proxied traffic
  • Substitution: Modifies response with textual replacement
  • Addition: Prepend and append data to a response
  • WebDAV: Implements WebDAV support for file management

HTTP Advanced Configuration

  • Map: Create run-time configuration variables based on arbitrary request parameters
  • Browser: Detect User-Agent type
  • Geo: Create run-time variables based on IP address
  • Rewrite: Test and manipulate URI
  • Split Clients: Partition clients for A|B testing

SSL and SPDY

  • SSL: Provides support for HTTPS
  • SPDY: Provides support for SPDY

HTTP Access Control and Authentication

  • Access: IP-based Access Control Lists (ACLs)
  • Auth Basic: HTTP Basic Authentication
  • Referer: Apply access control based on HTTP referrer
  • Secure Link: Process encrypted, time-limited links to content
  • Auth Request: Flexible authentication using subrequests

HTTP Transaction Shaping

HTTP Logging and Monitoring

  • Log: Log HTTP transactions
  • Session Log: Log HTTP sessions (rather than individual transactions)
  • SysLog: Request logging to syslog
  • Status: Provides advanced NGINX status information

HTTP Proxying and APIs

  • Proxy: Proxy and cache requests to HTTP server
  • FastCGI: Proxy and cache requests to FastCGI application
  • Memcached: Proxy requests to memcached server
  • SCGI: Proxy and cache requests to SCGI application
  • uWSGI: Proxy and cache requests to uWSGI application
  • Upstream: Load-balanced pools of servers for proxy, FastCGI and memcached

HTTP Media delivery

  • MP4: Stream H.264/AAC files (.mp4, .m4v, .m4a)
  • FLV: Stream Flash Video (FLV) files
  • F4F: Support for Adobe HTTP Dynamic Streaming (HDS)
  • HLS: HTTP Live Streaming (HLS) server-side support for H.264/AAC files

Mail

  • Mail Core: basic Mail-proxying configuration
  • POP3: Authentication methods for POP3 traffic
  • IMAP: Capabilities and Authentication methods for IMAP
  • SMTP: Capabilities and SASL Authentication for SMTP
  • Auth HTTP: Offload authentication to HTTP server
  • Proxy: Proxy parameters for Mail protocols
  • SSL: Implement SSL, TLS and STARTTLS for Mail protocols

TCP Load Balancing

  • Stream: core TCP-proxying configuration
  • Upstream: upstream load balancing configuration

NGINX Plus - Lua modules

NGINX Plus Lua (package: nginx-plus-lua) includes additional third-party modules.

Additional modules in NGINX Plus Lua

  • Lua: A third-party extension to embed Lua actions into NGINX’ configuration and processing

NGINX Plus - Extras modules

NGINX Plus Extras (package: nginx-plus-extras) includes additional NGINX F/OSS and third-party modules:

Additional modules in NGINX Plus Extras

  • Perl: Embed Perl actions into NGINX’ configuration and processing
  • GeoIP: Create run-time variables based on MaxMind geoip data
  • Image Filter: Resize, sharpen, crop and resample images
  • XSLT: Transforms XML responses with XSLT stylesheets
  • RTMP Media Streaming: A trusted third-party extension for RTMP media delivery
  • Lua : A third-party extension to embed Lua actions into NGINX’ configuration and processing
  • Headers-More: A third-party extension to NGINX’ Headers module
  • Set-Misc: A third-party extension to NGINX’ Rewrite module
  • Phusion Passenger Open Source: The NGINX module component of Phusion Passenger Open Source

NGINX Media Server modules

NGINX Media Server (package: nginx-plus-sms) is targeted specifically for video delivery requirements. It contains the streaming media delivery and extended status modules from NGINX Plus, and a third-party RTMP streaming media module:

Additional modules in NGINX Media Server

  • MP4: Stream H.264/AAC files (.mp4, .m4v, .m4a)
  • FLV: Stream Flash Video (FLV) files
  • F4F: Support for Adobe HTTP Dynamic Streaming (HDS)
  • HLS: HTTP Live Streaming (HLS) server-side support for H.264/AAC files
  • Status: Provides advanced NGINX status information
  • RTMP Media Streaming: A trusted third-party extension for RTMP media delivery

Other NGINX Plus features (health check, session persistence, cache purging etc.) are not included in NGINX Media Server.

Third-party modules and extensions are included for convenience and are not supported by Nginx Inc.