What is frp?

frp is a fast reverse proxy to help you expose a local server behind a NAT or firewall to the internet. It supports TCP, UDP, HTTP, HTTPS, TLS, and websockets protocols.

Here's a breakdown of key concepts:

  • Reverse Proxy: At its core, frp functions as a [https://www.wikiwhat.page/kavramlar/Reverse%20Proxy] Reverse Proxy. It receives requests from the internet and forwards them to your internal server.

  • NAT and Firewalls: frp is designed to overcome the limitations of Network Address Translation (NAT) and firewalls, which often block direct access to servers inside a private network. This makes it ideal for exposing services hosted at home or in environments where you don't have direct control over the network.

  • Client-Server Architecture: frp employs a [https://www.wikiwhat.page/kavramlar/Client-Server%20Architecture] Client-Server Architecture. The frps (frp server) runs on a publicly accessible server, and the frpc (frp client) runs on the server you want to expose.

  • TCP and UDP Support: frp can forward both TCP and UDP traffic, making it versatile for various applications, including SSH, game servers, and custom applications.

  • HTTP and HTTPS Support: For web-based applications, frp offers specific support for HTTP and HTTPS protocols, including automatic TLS encryption. This also includes things like [https://www.wikiwhat.page/kavramlar/Subdomain%20Support] Subdomain Support, [https://www.wikiwhat.page/kavramlar/HTTP%20Header%20Rewrite] HTTP Header Rewrite and [https://www.wikiwhat.page/kavramlar/Health%20Checks] Health Checks.

  • WebSockets Support: frp also handles [https://www.wikiwhat.page/kavramlar/WebSockets%20Support] WebSockets Support, enabling real-time, bi-directional communication between clients and your internal server.

  • TLS Encryption: Security is a priority. frp supports TLS encryption to protect data transmitted between the client and server.

  • Configuration: frp is configured using configuration files (usually ini format). These files define the server address, ports, and other settings for both the client and server. Careful configuration is crucial for security and proper functionality.

  • Use Cases: Common use cases for frp include: exposing a web server running on a home computer, accessing an SSH server behind a firewall, hosting a game server without a public IP address, and enabling remote access to internal applications.