What are Public Endpoints?
A Domain's primary responsibility is to enable you to create public
endpoints with a hostname matching the
domain. These are called "matching endpoints". For example, after you create
the Domain app.example.com
, you can create the Endpoint
https://app.example.com
.
When you create a Domain, you may create matching public endpoints with the following constraints:
Endpoint Protocol | Allowed Endpoints |
---|---|
http | Matching endpoints on port 80 of the Domain. |
https | Matching endpoints on port 443 of the Domain. |
tls | Matching endpoints on port 443 of the Domain. |
tcp | Not allowed. Public TCP endpoints must match a TCP Address. |
If you configure your Domain to use dedicated IPs, these restrictions are removed and you may create matching endpoints on any ports.
Wildcard domains
You may create a Domain with a wildcard name, e.g. *.example.com
. A wildcard
domain enables you to:
-
Create an endpoint which receives traffic for all of its subdomains, e.g.
https://*.example.com
. Consult the documentation for wildcard endpoints to understand the rules for matching and precedence. -
Create an endpoint on any subdomain which matches the wildcard, e.g.
https://foo.example.com
orhttps://foo.bar.baz.example.com
The wildcard *
character may only be used as the first part of a
domain, you may not create domains like app.*.example.com
or
*-app.example.com
.
Ownership
Your account exclusively owns its Domains and all of their nested subdomains within ngrok. That means:
- No account may create a Domain with a name that is a subdomain of your Domains.
- No other account may create endpoints with a hostname matching your Domain or any of its nested subdomains.
For example, if you create a Domain with the name foo.ngrok.app
:
- No other account create the Domains
foo.ngrok.app
orbar.foo.ngrok.app
. - No other account may create the endpoints
https://foo.ngrok.app
orhttps://bar.foo.ngrok.app
.