TCP Addresses
Overview
TCP Addresses enable you to create public TCP
Endpoints on a fixed address. TCP Addresses
are a host and port tuple, for example 1.tcp.eu.ngrok.io:12345
.
You can manage TCP Addresses on your ngrok Dashboard or via the ngrok API.
Public endpoint creation
A TCP Address's primary responsibility is to enable you to create public TCP
endpoints with a hostname and port matching the address. These are called
"matching endpoints". For example, after you create the TCP Address
1.tcp.jp.ngrok.io:12345
, you can create the Endpoint
tcp://1.tcp.jp.ngrok.io:12345
.
Only TCP endpoints may be created on TCP Addresses. To create other endpoint types, create a Domain.
Address assignment
The hostname and port of the TCP Address are randomly assigned when you create it, after which it will not change. You may not choose the hostname or port. The port of your TCP address is uniquely assigned to your account, but other ports on that same hostname may be assigned to other accounts. While the hostname and port of a TCP Address is fixed, they do not have static IPs.
Global Load Balancer
TCP Addresses are not supported by the global load balancer.
You must select a Point of Presence when you create a TCP Address. Connections to matching TCP Endpoints on a TCP Address will always route to the TCP Address's point of presence, no matter where those connections originated in the world.
You may create Agent Endpoints from an agent connected to a different point of presence than the matching TCP Address. For example, the following will work properly:
ngrok tcp 3389 --region jp --url tcp://1.tcp.eu.ngrok.io:12345
API
TCP Addresses are programatically managed via:
Pricing
TCP Addresses are available on paid plans only, they are not available on the free plan.