Learn use cases for deploying NGINX as a reverse proxy server. A reverse proxy server takes client requests and routes them to one or more backend servers. In the case of NGINX deployments, the back-end servers will typically be web servers or application servers which generate content.
NGINX Use Case: Proxy Server
The user in the following scenarios is the network administrator in charge of a collection of web servers and application servers. The user has several issues to address, including overall network performance, security, and website performance times.
Scenario 1: Load Balancing
By setting up NGINX as a reverse proxy, the user can create a software load balancing solution. This is a highly configurable type of traffic management which allows the NGINX server to distribute incoming traffic across a collection of servers in order to keep traffic loads manageable.
Using NGINX as a reverse proxy can also correct fail-over problems. If one of the back-end servers becomes unavailable, NGINX can automatically route traffic to the other servers, thus preventing any service disruptions.
The user will be able to configure and manage overall network performance by configuring an NGINX server to act as a load balancer.
Scenario 2: Security
A reverse proxy server provides an additional layer of abstraction between the user's application servers and the public internet. This additional layer can help prevent many basic security attacks, since malicious code can be intercepted and stripped. Traffic can also be filtered, monitored, and controlled to a far greater extent on a proxy server.
The reverse proxy can also be configured to secure traffic to the proxied servers with SSL, thus encrypting the connection.
Using NGINX as a reverse proxy will improve security for the user's applications and network, and can be configured to monitor and prevent many different types of attacks and malicious behavior.
Scenario 3: Web Acceleration
An NGINX reverse proxy can greatly accelerate web performance by caching files, and by compressing inbound and outbound traffic.
Additionally, the NGINX server can handle any SSL encryption which needs to be implemented between the visitor and the website. This removes the SSL processing burden from the web and application servers, thus improving their performance.
The user can significantly improve the website's performance by setting up an NGINX reverse proxy and configuring it to cache content, compress files, and encrypt the traffic.