Proxy vs Reverse Proxy
Proxies make requests for clients. This is often done to monitor traffic and implement policies that may block certain types of request. Reverse proxies fulfill requests for clients by connecting to servers. This is often done to achieve horizontal scale by publishing a single IP that maps to a large number of servers. Reverse proxies may also be used to cache responses or implement security scanning of incoming requests.Proxy Example
A firm configures its internal networks such that employees need to pass through a proxy to access the internet. This allows the firm to generate an audit trail and to block resources that are viewed as a security threat.Reverse Proxy Example
A backend for a mobile app handles requests using a load balancer that connects to instances of a server running on cloud infrastructure. The cloud instances are scaled up and down to handle load conditions. The load balancer is a reverse proxy that forwards requests to instances to distribute load. Clients view the load balancer as a server and need not be aware that requests are forwarded.Proxy vs Reverse Proxy | ||
Proxy | Reverse Proxy | |
Definition | A service that makes requests on behalf of clients. | A service that fulfills requests on behalf of servers. |
Pattern | Make many clients appear as one. | Make many servers appear as one. |
Type | ||
Common Implementations | HardwareSoftware Service | HardwareSoftware Service |
Common Uses | MonitoringLoggingBlocking Requests | Load BalancingCachingContent DeliveryAPI GatewaysSecurity Scanning |