Last modified: April 27, 2026
This article is written in: 🇺🇸
A forward proxy sits between clients and the wider internet. Instead of connecting directly to an external service, the client sends the request to the proxy, and the proxy makes the outbound connection on the client’s behalf. This pattern is commonly used for egress control, caching, auditing, and sometimes privacy. It differs from a reverse proxy, which stands in front of servers rather than clients.
# Forward Proxy Setup
+-----------+ +---------+ +------------+
| Client | -----> | Proxy | -----> | Server(s) |
+-----------+ +---------+ +------------+
^ | ^
| (Network) |
+---------------------------------------+
Sees the proxy as the destination server in many configurations.
Forward Proxy
Returns the server’s response to the client as if it were the origin itself.
Destination Server
HTTP_PROXY can direct traffic through a proxy.CONNECT method so TLS is negotiated end-to-end between client and destination.Via, or apply content filtering.Useful for enforcing security policy and reducing accidental data exfiltration.
Shared caching
This reduces internet bandwidth usage and improves perceived latency.
Auditing and compliance
Particularly common in corporate, educational, or regulated environments.
Privacy and geolocation changes
# Simple Open Proxy
Client -> Public/Open Proxy -> Destination Server
A forward proxy is typically set up on the client side of a connection. It receives outbound requests from clients and relays them to the internet. This can provide privacy (the server sees only the proxy’s IP), caching, or traffic filtering.
ASCII DIAGRAM: Forward Proxy Setup
Clients Forward Proxy Internet
--------------------------------------------------------
| | | | | |
| C1 |---Request--| |---Request-->| W1 |
| |<--Response-| FP |<--Response--| |
|------| | | |------|
| C2 |---Request--| |---Request-->| W2 |
| |<--Response-| |<--Response--| |
|------| | | |------|
| C3 |---Request--| |---Request-->| W3 |
| |<--Response-| |<--Response--| |
--------------------------------------------------------
Analogy: A personal assistant (forward proxy) obtains data from the outside world, so external services see the assistant rather than the real person making the request.
Analogy: A receptionist or front desk (reverse proxy) routes incoming callers or visitors to the correct department, ensuring they never directly see or contact internal offices without going through the receptionist.
Forward proxies handle HTTPS differently from plain HTTP because the client and destination usually need an end-to-end TLS session.
Client -- CONNECT example.com:443 --> Forward Proxy -- TCP tunnel --> example.com:443
Can also help centralize outbound TLS policy, although the proxy itself is still a trusted hop.
Geo-Restriction Bypass
A client can connect through a proxy in a different geographic region, accessing content that might otherwise be blocked.
Traffic Filtering and Security
They can also require authentication before allowing access to external resources.
Caching
ASCII DIAGRAM: Forward Proxy / Cache
+-----------+ +---------------+ +---------------+
| Clients | ---> | Forward Proxy | ---> | Internet |
+-----------+ | + Cache | +---------------+
+---------------+
Many command-line tools can be pointed at a forward proxy explicitly:
curl -x http://proxy.internal:3128 https://example.com/api/health
In practice, teams often combine this with:
HTTP_PROXY, HTTPS_PROXY, and NO_PROXY.Memory and CPU overhead for caching or SSL termination can be substantial in high-traffic scenarios.
Security Risks
Open proxies, in particular, are unsafe for production environments.
Logging and Analytics
Must handle privacy concerns and comply with data protection regulations.
Compatibility
NO_PROXY allowlist so internal traffic bypasses the proxy.