Reverse Proxy Protocols ======================== This section introduces various proxy types used to route web traffic through intermediate servers for purposes such as security, anonymity, or access control. .. toctree:: :maxdepth: 1 :hidden: :includehidden: HTTP_Reverse_Proxy HTTPS_Reverse_Proxy TCP_Reverse_Proxy UDP_Reverse_Proxy WebSocket_Proxy API_Gateway Content_Delivery_Network .. list-table:: :widths: 20 60 20 :header-rows: 1 * - Proxy Type - Description - Use Case * - HTTP Reverse Proxy - A server that forwards HTTP requests to backend application servers. *Provides caching, routing, and access control.* - Load balancing and web acceleration. * - HTTPS Reverse Proxy - Similar to HTTP reverse proxy, but handles TLS/SSL — offloading handshake and encryption. *Enables secure termination and inspection.* - SSL termination and secure routing in web infrastructure. * - TCP Reverse Proxy - Forwards generic TCP streams to backend services. *Supports non‑HTTP protocols at the connection level.* - Proxying SMTP, database connections (e.g., MySQL), or any TCP-based service. * - UDP Reverse Proxy - Relays UDP datagrams to backend services. *Enables proxying for stateless or real-time protocols.* - Gaming servers, VoIP, DNS reverse proxying. * - WebSocket Proxy - Proxies WebSocket (WSS/WS) connections, preserving persistent bidirectional channels. *Supports real-time client-server communication with proxy routing.* - Chat apps, live dashboards, real-time messaging services. * - API Gateway - A specialized reverse proxy managing API traffic, with rate limiting, auth, and transformation. *Acts as a front door for microservices APIs.* - Secure and controlled access to microservice endpoints. * - Content Delivery Network (CDN) - Reverse proxy network distributed globally to cache and serve content close to users. *Accelerates delivery and reduces origin load.* - Static asset delivery, video streaming, and global web performance acceleration. .. tab-set:: .. tab-item:: HTTP Reverse Proxy **Concept:** Reverse proxy handling HTTP traffic (Layer 7) :contentReference[oaicite:0]{index=0} **Main Features:** - Routes HTTP requests to backend servers - Supports caching, load balancing, URL rewriting, access control, and request filtering :contentReference[oaicite:1]{index=1} **Use Cases:** - Web acceleration and content caching - Hiding backend servers and managing access :contentReference[oaicite:2]{index=2} **Alternative Proxies:** - HTTPS Reverse Proxy – handles TLS - API Gateway – includes API-specific features .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: What You Will Learn in This Section **Let us learn more about HTTP Reverse Proxy:** * :ref:`Learnings in this section ` * :ref:`Terminology ` * :ref:`Version Info ` * :ref:`HTTP_Reverse_Proxy Version&IEEE Details ` * :ref:`HTTP_Reverse_Proxy Basic Setup on Ubuntu using IPv4 ` * :ref:`HTTP_Reverse_Proxy Basic Setup on Ubuntu using IPv6 ` * :ref:`HTTP_Reverse_Proxy Protocol Packet Details ` * :ref:`HTTP_Reverse_Proxy Usecases ` * :ref:`HTTP_Reverse_Proxy Basic Features ` * :ref:`Reference links ` .. button-link:: ./HTTP_Reverse_Proxy.html :color: primary :shadow: :expand: Jump to "HTTP Reverse Proxy" .. tab-set:: .. tab-item:: HTTPS Reverse Proxy **Concept:** Reverse proxy that terminates TLS connections and forwards decrypted HTTP traffic :contentReference[oaicite:3]{index=3} **Main Features:** - Handles SSL/TLS handshake and encryption/decryption - Enables inspection or filtering of encrypted traffic - Offloads CPU-intensive cryptographic work from backend servers **Use Cases:** - Secure browsing with centralized certificate management - Corporate environments that need encrypted traffic introspection **Alternative Proxies:** - HTTP Reverse Proxy – simpler, no encryption - API Gateway – TLS handling plus API management .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: What You Will Learn in This Section **Let us learn more about HTTPS Reverse Proxy:** * :ref:`Learnings in this section ` * :ref:`Terminology ` * :ref:`Version Info ` * :ref:`HTTPS_Reverse_Proxy Version&IEEE Details ` * :ref:`HTTPS_Reverse_Proxy Basic Setup on Ubuntu using IPv4 ` * :ref:`HTTPS_Reverse_Proxy Basic Setup on Ubuntu using IPv6 ` * :ref:`HTTPS_Reverse_Proxy Protocol Packet Details ` * :ref:`HTTPS_Reverse_Proxy Usecases ` * :ref:`HTTPS_Reverse_Proxy Basic Features ` * :ref:`Reference links ` .. button-link:: ./HTTPS_Reverse_Proxy.html :color: primary :shadow: :expand: Jump to "HTTPS Reverse Proxy" .. tab-set:: .. tab-item:: TCP Reverse Proxy **Concept:** Generic reverse proxy forwarding raw TCP connections (Layer 4) :contentReference[oaicite:4]{index=4} **Main Features:** - Forwards arbitrary TCP connections - No protocol-level inspection or transformation - Useful for load balancing and access control at TCP layer **Use Cases:** - Proxies for SMTP, databases, or custom TCP services - Handling encrypted non‑HTTP protocols seamlessly **Alternative Proxies:** - HTTP/HTTPS – HTTP-aware - UDP Reverse Proxy – for stateless UDP use cases .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: What You Will Learn in This Section **Let us learn more about TCP Reverse Proxy:** * :ref:`Learnings in this section ` * :ref:`Terminology ` * :ref:`Version Info ` * :ref:`TCP_Reverse_Proxy Version&IEEE Details ` * :ref:`TCP_Reverse_Proxy Basic Setup on Ubuntu using IPv4 ` * :ref:`TCP_Reverse_Proxy Basic Setup on Ubuntu using IPv6 ` * :ref:`TCP_Reverse_Proxy Protocol Packet Details ` * :ref:`TCP_Reverse_Proxy Usecases ` * :ref:`TCP_Reverse_Proxy Basic Features ` * :ref:`Reference links ` .. button-link:: ./TCP_Reverse_Proxy.html :color: primary :shadow: :expand: Jump to "TCP Reverse Proxy" .. tab-set:: .. tab-item:: UDP Reverse Proxy **Concept:** Reverse proxy forwarding UDP datagrams at Layer 4 **Main Features:** - Proxies stateless UDP traffic - Useful for protocols like DNS, VoIP, real-time gaming **Use Cases:** - DNS reverse proxying, VoIP gateways - Real-time multiplayer game servers requiring proxy routing **Alternative Proxies:** - TCP Reverse Proxy – for TCP connections - WebSocket Proxy – for persistent HTTP upgrades .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: What You Will Learn in This Section **Let us learn more about UDP Reverse Proxy:** * :ref:`Learnings in this section ` * :ref:`Terminology ` * :ref:`Version Info ` * :ref:`UDP_Reverse_Proxy Version&IEEE Details ` * :ref:`UDP_Reverse_Proxy Basic Setup on Ubuntu using IPv4 ` * :ref:`UDP_Reverse_Proxy Basic Setup on Ubuntu using IPv6 ` * :ref:`UDP_Reverse_Proxy Protocol Packet Details ` * :ref:`UDP_Reverse_Proxy Usecases ` * :ref:`UDP_Reverse_Proxy Basic Features ` * :ref:`Reference links ` .. button-link:: ./UDP_Reverse_Proxy.html :color: primary :shadow: :expand: Jump to "UDP Reverse Proxy" .. tab-set:: .. tab-item:: WebSocket Proxy **Concept:** Reverse proxy that supports WebSocket protocol upgrade and persistence **Main Features:** - Maintains long-lived, bidirectional connections over HTTP - Supports proxying WebSocket messaging seamlessly **Use Cases:** - Real-time apps: chat, live updates, dashboards **Alternative Proxies:** - HTTP/HTTPS – not suitable for persistent streams .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: What You Will Learn in This Section **Let us learn more about WebSocket Proxy:** * :ref:`Learnings in this section ` * :ref:`Terminology ` * :ref:`Version Info ` * :ref:`WebSocket_Proxy Version&IEEE Details ` * :ref:`WebSocket_Proxy Basic Setup on Ubuntu using IPv4 ` * :ref:`WebSocket_Proxy Basic Setup on Ubuntu using IPv6 ` * :ref:`WebSocket_Proxy Protocol Packet Details ` * :ref:`WebSocket_Proxy Usecases ` * :ref:`WebSocket_Proxy Basic Features ` * :ref:`Reference links ` .. button-link:: ./WebSocket_Proxy.html :color: primary :shadow: :expand: Jump to "WebSocket Proxy" .. tab-set:: .. tab-item:: API Gateway(Reverse Proxy) **Concept:** A reverse proxy plus API management capabilities (routing, auth, rate limiting) :contentReference[oaicite:5]{index=5} **Main Features:** - Provides routing, authentication, rate limiting, transformations, logging - Acts as a unified entry point to microservices APIs **Use Cases:** - Managing API traffic in microservices architecture - Enforcing security and policy uniformly across services **Alternative Proxies:** - HTTP Reverse Proxy – no API governance - Load Balancer – lacks API-level features .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: What You Will Learn in This Section **Let us learn more about API Gateway:** * :ref:`Learnings in this section ` * :ref:`Terminology ` * :ref:`Version Info ` * :ref:`API_Gateway Version&IEEE Details ` * :ref:`API_Gateway Basic Setup on Ubuntu using IPv4 ` * :ref:`API_Gateway Basic Setup on Ubuntu using IPv6 ` * :ref:`API_Gateway Protocol Packet Details ` * :ref:`API_Gateway Usecases ` * :ref:`API_Gateway Basic Features ` * :ref:`Reference links ` .. button-link:: ./API_Gateway.html :color: primary :shadow: :expand: Jump to "API Gateway" .. tab-set:: .. tab-item:: Content Delivery Network (CDN) **Concept:** Distributed reverse proxy network for caching and content delivery :contentReference[oaicite:6]{index=6} **Main Features:** - Caches content across geographically distributed edge servers - Improves performance and reduces latency for end-users - Offloads traffic from origin servers **Use Cases:** - Static asset delivery (images, CSS, JS), video distribution, global website performance **Alternative Proxies:** - HTTP Reverse Proxy – single location caching - API Gateway – API-specific control, not global distribution .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: What You Will Learn in This Section **Let us learn more about CDN:** * :ref:`Learnings in this section ` * :ref:`Terminology ` * :ref:`Version Info ` * :ref:`Content_Delivery_Network Version&IEEE Details ` * :ref:`Content_Delivery_Network Basic Setup on Ubuntu using IPv4 ` * :ref:`Content_Delivery_Network Basic Setup on Ubuntu using IPv6 ` * :ref:`Content_Delivery_Network Protocol Packet Details ` * :ref:`Content_Delivery_Network Usecases ` * :ref:`Content_Delivery_Network Basic Features ` * :ref:`Reference links ` .. button-link:: ./Content_Delivery_Network.html :color: primary :shadow: :expand: Jump to "Content Delivery Network"