TCP Reverse Proxy - Transmission Control Protocol Reverse Proxy ================================================================== .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow **What is TCP Reverse Proxy?** A **TCP Reverse Proxy** is a server that receives TCP connection requests from clients and forwards them to backend servers, acting as an intermediary at the TCP transport layer. .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow **Why is TCP Reverse Proxy useful?** TCP Reverse Proxies are useful for: - **Load balancing** TCP-based services - **Offloading connection management** from backend servers - **Security**, by hiding backend servers from clients - **Failover and high availability** - **Traffic inspection** and **rate limiting** at the TCP level .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow **How it works?** - The client initiates a TCP connection to the reverse proxy. - The proxy accepts and forwards TCP packets to the backend server. - It manages and proxies TCP streams transparently without inspecting application data. - Examples: HAProxy, NGINX (stream module), Envoy. .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow **Where is TCP Reverse Proxy used?** TCP Reverse Proxies are used in: - Proxying databases like MySQL, PostgreSQL - Email servers (SMTP), FTP servers - Load balancing custom TCP protocols - IoT and legacy system integrations .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow **Which OSI layer does this protocol belong to?** TCP Reverse Proxy operates at the **Transport Layer (Layer 4)** of the OSI model. .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow **Is TCP Reverse Proxy Windows specific?** No, TCP Reverse Proxies are **not Windows specific** and can run on multiple operating systems. .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow **Is TCP Reverse Proxy Linux specific?** No, TCP Reverse Proxies are **not Linux specific** though Linux is a common deployment platform. .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow **Which Transport Protocol is used by TCP Reverse Proxy?** TCP Reverse Proxy uses: - **TCP (Transmission Control Protocol)** .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow **Which Port is used by TCP Reverse Proxy?** - Any configured TCP port depending on backend services. - Examples: 3306 (MySQL), 25 (SMTP), or custom ports. .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow **Is TCP Reverse Proxy using Client server model?** Yes, it follows the **client-server model**: - Acts as a **server** to the client - Acts as a **client** to the backend servers .. panels:: :container: container pb-4 :column: col-lg-12 p-2 :card: shadow Topics in this section, * :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 ` .. _TCP_Reverse_Proxy_step1: .. tab-set:: .. tab-item:: Learnings in this section * In this section, you are going to learn .. _TCP_Reverse_Proxy_step2: .. tab-set:: .. tab-item:: Terminology * Terminology .. _TCP_Reverse_Proxy_step3: .. tab-set:: .. tab-item:: Version Info * Version Info .. _TCP_Reverse_Proxy_step5: .. tab-set:: .. tab-item:: TCP_Reverse_Proxy Version&RFC Details * rfc details .. _TCP_Reverse_Proxy_step18: .. tab-set:: .. tab-item:: TCP_Reverse_Proxy Basic Setup on Ubuntu using IPv4 * setup .. _TCP_Reverse_Proxy_step19: .. tab-set:: .. tab-item:: TCP_Reverse_Proxy Basic Setup on Ubuntu using IPv6 * setup .. _TCP_Reverse_Proxy_step6: .. tab-set:: .. tab-item:: TCP_Reverse_Proxy Protocol Packet Details * packet details .. _TCP_Reverse_Proxy_step7: .. tab-set:: .. tab-item:: TCP_Reverse_Proxy Usecases * usecases .. _TCP_Reverse_Proxy_step8: .. tab-set:: .. tab-item:: TCP_Reverse_Proxy Basic Features * features .. _TCP_Reverse_Proxy_step17: .. tab-set:: .. tab-item:: Reference links * Reference links