In a nutshell
- Reverse proxy: It can forward some requests to other servers and applications (e.g., forward requests to a PHP or Ruby application)
- Load balancing: It can distribute incoming network traffic across multiple servers or applications to prevent a single server from becoming overloaded.
- Caching: It can store frequently accessed files in memory to reduce load on servers and to speed up content delivery.
- Security: It can support basic HTTP authentication, IP-based restriction, and other features.