System Design: Proxies Flashcards
What is a proxy (forward proxy)?
It is a piece of software or hardware that facilitates the request for resources from other servers on behalf of clients, thus anonymizing the client from the server.
What are forward proxies used for?
Typically, forward proxies are used to cache data, filter requests, log requests, or transform requests by adding/removing headers. Other uses include:
Anonymizing client IPs, content filtering (eg orgs restrict access to certain sites), bypassing geo location restrictions, malware protection.
What is a reverse proxy?
It’s the same things as a forward proxy, except a reverse proxy hides the final server that served the request from the client and sits between the client and server (as opposed to the client and internet).
What is a reverse proxy used for?
A reverse proxy, just like a forward proxy, can be used for caching, load balancing, or routing requests to the appropriate servers.
What are key differences between and reverse proxy and forward proxy?
Forward proxies are used by clients to access the Internet securely, reverse proxies are used by servers to manage, protect, and optimize incoming requests.
Do servers route requests back through load balancers? (Proxies)?
Sometimes, like with Nginx.
What are some examples of forward proxies?
Squid: An open-source caching proxy widely used for HTTP, HTTPS, and FTP traffic.
Nginx: Primarily known as a web server, Nginx can also function as a forward proxy when configured appropriately.
Tor (The Onion Router): While primarily known for its network of volunteer-operated servers providing anonymity, Tor also functions as a forward proxy, routing traffic through multiple layers to obscure origin.
Cloudflare Gateway: Offers secure and managed proxy services for enterprise users, focusing on threat protection and secure internet access.
What are some examples of reverse proxies.
Nginx – One of the most widely used reverse proxies for load balancing, caching, and security.
AWS Application Load Balancer (ALB) – Handles reverse proxying and traffic distribution in AWS.
Apache HTTP Server (mod_proxy) – Can be configured as a reverse proxy for various protocols.
Cloudflare – Acts as a reverse proxy for security, DDoS protection, and caching.
Are responses routed through reverse proxies?
Yes
Describe and API gateway.
See image