Chapter 5. Service Proxy
You’re likely familiar with the differentiation between forward and reverse proxies. As a refresher, forward proxies focusing on outbound traffic with the aim of improving performance and filtering requests are typically deployed as the interface between users on private networks and their internet requests. Forward proxies commonly improve performance because they can cache static web content and provide a level of security by preventing users from accessing specific categories of websites. If you work in a large organization, you might have a forward proxy between your local machine and the internet, filtering protocols and websites, in accordance with your organization’s network use policy.
Conversely, reverse proxies focus on inbound traffic coming from the internet to private networks. They are commonly used to secure and filter HTTP requests, providing load balancing across real (backend) servers. To the extent that forward proxies typically represent user traffic to external servers, reverse proxies are commonly used to represent real servers to users (clients).
As illustrated in Figure 5-1, reverse proxies represent themselves as the servers. Depending on the type and configuration, to the client there’s little to no difference between the reverse proxy server and the service it’s making requests of. Reverse proxies forward requests to one or more real servers, which handle the requests. The response from the proxy server is returned as if it came ...