Skip to content

Restructure Universal Gateway #1224

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 148 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
148 commits
Select commit Hold shift + click to select a range
1a1cad9
Restructure Universal Gateway > Concepts > Domains
S3Prototype Mar 13, 2025
948048e
nav structure
S3Prototype Mar 13, 2025
c705a26
finished top-level page
S3Prototype Mar 13, 2025
f7a2d41
Added items to sidebar
S3Prototype Mar 13, 2025
dd7b3aa
checkpoint
S3Prototype Mar 13, 2025
ed09d8e
Finish public endpoints guide
S3Prototype Mar 13, 2025
9e23f0e
managed domains done
S3Prototype Mar 13, 2025
78e2dde
Rough draft done
S3Prototype Mar 13, 2025
399c894
Merge branch 'main' into shaquil/doc-144-restructure-universal-gatewa…
S3Prototype Mar 13, 2025
4b28032
Some link fixes
S3Prototype Mar 13, 2025
fbad4ed
Delete domains.mdx
S3Prototype Mar 13, 2025
cfdd45b
Remove outdated links
S3Prototype Mar 14, 2025
9e42872
Checkpoint; broke up the first few sections of the page and moved the…
S3Prototype Mar 14, 2025
824a305
Need to do sidebar
S3Prototype Mar 14, 2025
401cb1b
Ok now ready for sidebar
S3Prototype Mar 14, 2025
96776c7
Removed TCP from sidebar; added new content
S3Prototype Mar 14, 2025
9f4c1ac
Cleanup before doing redirects/link removal
S3Prototype Mar 14, 2025
1fde9a8
Links and redirects for TCP done; need to do domains
S3Prototype Mar 14, 2025
f8051ac
Hashes and redirects for domains
S3Prototype Mar 14, 2025
c804aa8
Add redirects to fix-redirect
S3Prototype Mar 14, 2025
7204733
Set up TLS top-level page
S3Prototype Mar 14, 2025
472ae71
Finished with how tls certs get selected
S3Prototype Mar 17, 2025
b703059
halfway through automated certs
S3Prototype Mar 17, 2025
e821514
Rough draft of automatic certs
S3Prototype Mar 17, 2025
6a15d71
Still working on bring-your-own certificates
S3Prototype Mar 17, 2025
2913be2
More cleanup
S3Prototype Mar 17, 2025
bd186d0
Finished what-is-a-certificate-bundle
S3Prototype Mar 18, 2025
604cb57
finished what is a private key
S3Prototype Mar 18, 2025
1728f56
Set up sidebar
S3Prototype Mar 18, 2025
8050a63
Fix sidebar typo
S3Prototype Mar 18, 2025
fa9e55f
Updated page titles
S3Prototype Mar 18, 2025
faddbe2
Fix redirects, remove dead links
S3Prototype Mar 18, 2025
b17776c
Remove tls-certificates page; move edges to deprecated
S3Prototype Mar 18, 2025
c7b7678
Setting up sidebar for endpoints
S3Prototype Mar 24, 2025
544cb55
More sidebar work
S3Prototype Mar 24, 2025
bde9eb1
Adding cloud endpoint quickstart; fixing old link
S3Prototype Mar 24, 2025
fdf0811
Add internal endpoints, urls, etc
S3Prototype Mar 24, 2025
3fc91c9
Fixing the sidebar
S3Prototype Mar 24, 2025
0710d9d
Splitting up kubernetes
S3Prototype Mar 24, 2025
0fb0f43
Adding other items
S3Prototype Mar 24, 2025
653554b
More changes
S3Prototype Mar 25, 2025
0542103
Fixing sidebar
S3Prototype Mar 25, 2025
d948b25
Add how to mock api guide
S3Prototype Mar 25, 2025
aaac9c7
Small change
S3Prototype Mar 26, 2025
3dd12db
Merge branch 'main' into shaquil/doc-144-restructure-universal-gatewa…
S3Prototype Mar 26, 2025
97ba7c2
starting on chaining
S3Prototype Mar 28, 2025
0c8ac14
rough draft of chaining endpoints
S3Prototype Mar 28, 2025
e179352
Finish chain endpoints; fix sidebar
S3Prototype Mar 28, 2025
46199a2
Cleared out all of Endpoint Types. Moving on to Protocols
S3Prototype Mar 28, 2025
d533900
Working on http/s
S3Prototype Mar 28, 2025
24ea832
add note
S3Prototype Mar 31, 2025
d215257
Checkpoint; working on https page
S3Prototype Apr 1, 2025
e35cc09
Merge branch 'main' into shaquil/doc-144-restructure-universal-gatewa…
S3Prototype Apr 1, 2025
285e1bf
Working on wildcard domains pages
S3Prototype Apr 1, 2025
12918d4
Wildcard domains docs done
S3Prototype Apr 1, 2025
147ca08
Adding content switcher
S3Prototype Apr 1, 2025
15db7cd
Checkpoint updating content
S3Prototype Apr 1, 2025
fb38f0a
Fix missing tab imports
S3Prototype Apr 1, 2025
0fb9e18
Finish the intro to http/s page
S3Prototype Apr 1, 2025
7a455d9
Merge branch 'main' into shaquil/doc-144-restructure-universal-gatewa…
S3Prototype Apr 2, 2025
99102d1
Splitting off the agent-forwarding-doc
S3Prototype Apr 2, 2025
dab530f
clear agent-forwarding file so we can test langswitcher
S3Prototype Apr 2, 2025
0ad57e2
Intro to agent forwarding fixed
S3Prototype Apr 2, 2025
5fbd348
non-local forwarding done; LangSwitcher updated
S3Prototype Apr 2, 2025
4b55637
Serving file directories done
S3Prototype Apr 2, 2025
ad44627
Swizzle tabs
S3Prototype Apr 3, 2025
180731c
ci: apply automated fixes
autofix-ci[bot] Apr 3, 2025
d221958
Synced tab switchers work in a basic way; needs cleanup
S3Prototype Apr 3, 2025
ce880b8
Merge branch 'shaquil/doc-144-restructure-universal-gateway-concepts-…
S3Prototype Apr 3, 2025
cbf3fac
Revert "Merge branch 'shaquil/doc-144-restructure-universal-gateway-c…
S3Prototype Apr 3, 2025
8c95fc2
Add ability to toggle all tabs and store default tab in localstorage
S3Prototype Apr 3, 2025
c701649
ci: apply automated fixes
autofix-ci[bot] Apr 3, 2025
3aea574
Fix typing
S3Prototype Apr 4, 2025
fab743b
Add tabs to codeblocks outside the switcher
S3Prototype Apr 4, 2025
6c6f198
Add ability to add custom tab names to switcher
S3Prototype Apr 4, 2025
6ae830e
Fix imports
S3Prototype Apr 4, 2025
1b77e7f
Add tabname
S3Prototype Apr 4, 2025
c378742
Fix tab labels in single code blocks
S3Prototype Apr 4, 2025
b10ccb1
Fix typing again
S3Prototype Apr 4, 2025
dedd282
Remove unnecessary scroll blocking; fix typing again
S3Prototype Apr 4, 2025
319e34f
Consolidate the codeblock component across lang switcher and docs cod…
S3Prototype Apr 7, 2025
60cc16d
Update behavior of code block
S3Prototype Apr 7, 2025
457b28a
Alphabetizing tabs and adding common labels to all tab components
S3Prototype Apr 7, 2025
d8dc3a7
Removing the common label for tabs functionality; can't get it to work
S3Prototype Apr 7, 2025
86fd0fc
Merge branch 'main' into shaquil/doc-144-restructure-universal-gatewa…
S3Prototype Apr 8, 2025
6cbbfcf
Remove convert to spaces
S3Prototype Apr 8, 2025
3ecd98c
Fix sorting code
S3Prototype Apr 8, 2025
5dfa1e2
Break out how https endpoints work
S3Prototype Apr 8, 2025
3850e6d
Finish HTTP/S page
S3Prototype Apr 8, 2025
47f972b
Add sidebar changes
S3Prototype Apr 8, 2025
694d284
Put upstream headers in its proper place
S3Prototype Apr 8, 2025
b01c1d7
Nest certificates under TLS
S3Prototype Apr 8, 2025
ebb1c11
Almost done breaking up TLS
S3Prototype Apr 8, 2025
fb634f6
TLS broken out
S3Prototype Apr 8, 2025
2f5e104
Reorder sidebar
S3Prototype Apr 8, 2025
75fb29b
Remove unused sidebar sections
S3Prototype Apr 8, 2025
351fd90
Break up TLS termination
S3Prototype Apr 9, 2025
0eef8cf
Add updated TLS termination docs
S3Prototype Apr 9, 2025
3d9cc32
Merge branch 'main' into shaquil/doc-144-restructure-universal-gatewa…
S3Prototype Apr 9, 2025
7290914
adjusting code block to new changes
S3Prototype Apr 9, 2025
8818ca1
Add indentation
S3Prototype Apr 9, 2025
4c8d8fe
Extra stuff removed
S3Prototype Apr 9, 2025
8f5526e
Update pnpm-lock.yaml
S3Prototype Apr 10, 2025
d19aa0e
Merge branch 'main' into shaquil/doc-144-restructure-universal-gatewa…
S3Prototype Apr 10, 2025
6727b58
Fix use your own domain guide
S3Prototype Apr 10, 2025
366fdda
Fix linting
S3Prototype Apr 10, 2025
148934b
Cleaning up TLS termination location
S3Prototype Apr 10, 2025
a838089
Breaking down the TCP page
S3Prototype Apr 10, 2025
eb52b5f
Fix biome complaints
S3Prototype Apr 10, 2025
2619909
Broke up forward original connection data
S3Prototype Apr 10, 2025
46fb287
ci: apply automated fixes
autofix-ci[bot] Apr 10, 2025
b761fb7
Cleaned up wildcard endpoints page
S3Prototype Apr 15, 2025
10f45c3
Fix default tabs for code blocks
S3Prototype Apr 15, 2025
12cdc94
Fix static URL page code snippets
S3Prototype Apr 15, 2025
1230088
Fix load balancing docs
S3Prototype Apr 15, 2025
d97cdc0
Another fix to pool load balancing
S3Prototype Apr 15, 2025
b677709
breaking GSLB, ip addresses, and pop out, but not editing much of the…
S3Prototype Apr 15, 2025
5d03bbc
Done with rough draft of GSLB endpoints
S3Prototype Apr 15, 2025
53d0a88
more gslb cleanup
S3Prototype Apr 15, 2025
2e02f20
cleaning up the gslb index page
S3Prototype Apr 15, 2025
89babda
Fix types
S3Prototype Apr 15, 2025
6dcbce2
ci: apply automated fixes
autofix-ci[bot] Apr 15, 2025
d3d7001
Another tsx fix
S3Prototype Apr 15, 2025
3183014
More type fixes
S3Prototype Apr 15, 2025
66e9ffe
updating content
S3Prototype Apr 15, 2025
2e287d2
Merge branch 'shaquil/doc-144-restructure-universal-gateway-concepts-…
S3Prototype Apr 15, 2025
d1db649
Trying to scroll sidebar items into view
S3Prototype Apr 15, 2025
888ec47
Made sidebar scroll to the item in view
S3Prototype Apr 16, 2025
701910b
ci: apply automated fixes
autofix-ci[bot] Apr 16, 2025
818453a
Center the sidebar item
S3Prototype Apr 16, 2025
9a3d573
Merge branch 'shaquil/doc-144-restructure-universal-gateway-concepts-…
S3Prototype Apr 16, 2025
b12cf1e
Cleanup comments; fix unnecessary export from redirects
S3Prototype Apr 16, 2025
0c6f170
Renaming some files p1
S3Prototype Apr 16, 2025
506675c
ci: apply automated fixes
autofix-ci[bot] Apr 16, 2025
bab63b9
Remove mention of Edges
S3Prototype Apr 16, 2025
2117a66
Merge branch 'shaquil/doc-144-restructure-universal-gateway-concepts-…
S3Prototype Apr 16, 2025
90d5b63
Remove warning about k8s endpoints; they're on paygo
S3Prototype Apr 16, 2025
674e21b
Move wildcard endpoints
S3Prototype May 1, 2025
1042078
Moving tcp addresses and endpoints up
S3Prototype May 1, 2025
6b8f82b
Some cleanup
S3Prototype May 1, 2025
4944acf
Working on kubernetes binding section
S3Prototype May 1, 2025
2d49c8a
Fixed k8s bindings
S3Prototype May 2, 2025
2a536ca
Fix up the endpoints docs (to some extent)
S3Prototype May 2, 2025
2aa26f8
Some top-level changes
S3Prototype May 2, 2025
5369611
More fixes
S3Prototype May 2, 2025
ddd914f
One more fix
S3Prototype May 2, 2025
cb12e1e
Anotha one
S3Prototype May 2, 2025
539162b
Remove outdated custom domains guide
S3Prototype May 8, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 15 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -84,3 +84,18 @@ pnpm run build

For bug reports, feature request, questions and community support please ooen an issue or discussion in our [ngrok Community](https://github.com/ngrok/ngrok).
To report a problem with our documentation, please open a new [Github issue](https://github.com/ngrok/ngrok-docs/issues).

## Troubleshooting

### EMFILE: too many open files error

Sometimes when you run `pnpm run dev`, docusaurus fails to build the site with the following error:

```bash
Error: Docusaurus could not load module at path "C:/.../ngrok-docs/sidebars.js"
Cause: EMFILE: too many open files, open 'C:/.../ngrok-docs/sidebars.js'
```

You can fix this by running `pnpm run clean-dev`.

The issue appears to be related to the npm cache being too large. `pnpm run clean-dev` clears and verifies the cache before running `pnpm run dev` for you.
2 changes: 1 addition & 1 deletion docs/agent/agent-tls-termination.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ title: Agent TLS Termination
Agent TLS termination enables you to secure your traffic with end-to-end encryption without needing to reconfigure your server.

:::tip
If your service doesn't support TLS termination, you can still use Agent TLS termination with [Zero-Knowledge TLS](/universal-gateway/tls-termination/#end-to-end-encryption).
If your service doesn't support TLS termination, you can still use Agent TLS termination with [Zero-Knowledge TLS](/universal-gateway/tls/tls-termination/#end-to-end-encryption).
:::

## Quickstart
Expand Down
2 changes: 1 addition & 1 deletion docs/agent/cli.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -610,7 +610,7 @@ of a tunnel-group backend. Endpoint configurations containing a
tunnel-group backend will cause traffic to their associated reserved
domain or address to be forwarded to the tunnel-group.

See the [Tunnel Group backends](/network-edge/edges/#tunnel-group) and [Edges](/network-edge/edges/) pages for more information.
See the [Tunnel Group backends](/universal-gateway/edges/#tunnel-group) and [Edges](/universal-gateway/edges/) pages for more information.

### Usage

Expand Down
2 changes: 1 addition & 1 deletion docs/agent/ssh-reverse-tunnel-agent.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -183,7 +183,7 @@ differences from the ngrok agent includes:
- You can't [forward to upstream https services](/universal-gateway/http/#https-forwarding)
- You can't create multiple endpoints over the same connection
- You can't [serve file system directories](/universal-gateway/http/#serving-file-directories) with the `file://` protocol
- You can't terminate TLS at the agent when using [end-to-end encryption](/universal-gateway/tls-termination/#end-to-end-encryption)
- You can't terminate TLS at the agent when using [end-to-end encryption](/universal-gateway/tls/tls-termination/#end-to-end-encryption)
- You can't run labeled tunnels for use with [Edges](/universal-gateway/edges).

## Pricing
Expand Down
39 changes: 39 additions & 0 deletions docs/errors/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -60,3 +60,42 @@ complete list of all of ngrok's error codes.
## Customize Error Pages for your Traffic

To access and provide feedback on a development preview of custom error pages [Fill out the form](https://ngrok.com/new-features/custom-error-pages?ref=errordoc).

## HTTP Errors

If ngrok fails to handle an HTTP request it will set the `ngrok-error-code` header in the HTTP response with a [unique ngrok Error Code](/errors/) describing the failure.

ngrok guarantees that the upstream service may never set the `ngrok-error-code` HTTP response header so you know reliably that it was set by ngrok.

ngrok may return an error under the following conditions:

- Your upstream service timed out or rejected the connection
- Your upstream service returned a response that was not valid HTTP
- A [Traffic Policy](/traffic-policy) action rejected the request.
- [Traffic Policy](/traffic-policy) execution encountered a runtime error.
- ngrok encountered an internal error

## TLS Errors

If a TLS handshake fails, an appropriate TLS abort code will be sent to the
client.

In all other cases, if an error is encountered while handling TLS connections
to your endpoints (e.g. no available backends or internal server error), the
connection will be closed. The TLS protocol and its implementations are not
sufficiently flexible enough to deliver additional rich error information when
failures are encountered.

Use the [observability](#observability) features to understand connection
handling errors.

## TCP Errors

If an error is encountered while handling connections to a TCP endpoint for any
reason (e.g. traffic policy action error, internal server error), the
connection will be closed. Because of the low-level nature of the TCP protocol,
there is no mechanism used to transmit information about what error code was
encountered.

Use the [observability](/obs/events/reference/#tcp-connection-closed) features to understand connection
handling errors.
2 changes: 1 addition & 1 deletion docs/faq/faq.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ and port 443 as well for TLS endpoints. This behavior is not configurable.

TCP endpoints use the port of the TCP address that was assigned when you
acquires the TCP address. [This port is assigned and not
configurable](/universal-gateway/tcp-addresses/#address-assignment).
configurable](/universal-gateway/tcp-addresses/how-are-tcp-addresses-assigned/).

## Will the ngrok agent work if my network changes? {#network-changes}

Expand Down
2 changes: 1 addition & 1 deletion docs/getting-started/go.mdx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: Go
pagination_next: universal-gateway/http
pagination_next: universal-gateway/http-s/index
---

# Quickstart: ngrok-go
Expand Down
2 changes: 1 addition & 1 deletion docs/getting-started/index.mdx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: Quickstart
pagination_next: universal-gateway/http
pagination_next: universal-gateway/http-s/index
---

import TabItem from "@theme/TabItem";
Expand Down
2 changes: 1 addition & 1 deletion docs/getting-started/rust.mdx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: Rust
pagination_next: universal-gateway/http
pagination_next: universal-gateway/http-s/index
---

# Quickstart: ngrok-rust
Expand Down
6 changes: 3 additions & 3 deletions docs/guides/api-gateway/get-started.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -78,8 +78,8 @@ ngrok api reserved-domains create --domain {YOUR_NGROK_DOMAIN}
```

This example uses an
[ngrok-managed domain](/universal-gateway/domains/#ngrok-managed-domains), but you can use
your own [branded domain](/universal-gateway/domains/#branded-domains) when you're ready for production.
[ngrok-managed domain](/universal-gateway/domains/what-are-managed-domains), but you can use
your own [branded domain](/universal-gateway/bring-your-own-domain) when you're ready for production.
In that case, substitute your branded domain for `{YOUR_NGROK_DOMAIN}` in the command above, and
[follow the steps](/guides/other-guides/how-to-set-up-a-custom-domain/#create-cname-record-in-domain-dns)
to configure DNS.
Expand Down Expand Up @@ -540,7 +540,7 @@ out our [integrations guides](/integrations/) for specific examples.
1. Leave the default values for **JSON Web Token (JWT) Profile \*** and **JSON Web Token Signing Algorithm \***.
1. Click **Create**.

<img src={Auth0} alt="Auth0 Create API" style={{width: 600}} />
<img src={Auth0} alt="Auth0 Create API" style={{ width: 600 }} />

#### Access your JWT

Expand Down
2 changes: 1 addition & 1 deletion docs/guides/device-gateway/agent.md
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,7 @@ https://api.ngrok.com/agent_ingresses

## Create a custom wildcard domain

Next, create a custom [wildcard domain](/universal-gateway/domains/#wildcard-domains), which will allow you to
Next, create a custom [wildcard domain](/universal-gateway/domains/what-are-domains/#wildcard-domains), which will allow you to
create endpoints and receive traffic on any subdomain of your domain.

For example, you might create `*.customer1.{YOUR_DOMAIN}`. You would then be able to create endpoints
Expand Down
2 changes: 1 addition & 1 deletion docs/guides/device-gateway/arm64.md
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,7 @@ If you already established a TCP tunnel for SSH access, you'll either need to cr
Forwarding https://12345.ngrok.app -> http://localhost:8080
```

1. Optionally, you can reserve a [static subdomain](/universal-gateway/domains/) like so:
1. Optionally, you can reserve a [static subdomain](/universal-gateway/domains/what-are-domains/) like so:

```
ngrok http 8080 --url https://example.ngrok.app
Expand Down
65 changes: 0 additions & 65 deletions docs/guides/other-guides/how-to-set-up-a-custom-domain.mdx

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
Agent TLS termination enables you to secure your traffic with end-to-end encryption without needing to reconfigure your server.

:::tip
If your service doesn't support TLS termination, you can still use Agent TLS termination with [Zero-Knowledge TLS](/universal-gateway/tls-termination/#end-to-end-encryption).
If your service doesn't support TLS termination, you can still use Agent TLS termination with [Zero-Knowledge TLS](/universal-gateway/tls/tls-termination/#end-to-end-encryption).
:::

## Quickstart
Expand Down
4 changes: 2 additions & 2 deletions docs/guides/other-guides/securing-your-tunnels.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ For our HTTP tunnel type, use `scheme https` to configure the ngrok agent to ope

If your local service is not running on the same machine as the ngrok agent, we recommend that you set up TLS encryption for the ngrok agent to upstream service leg of the tunnel using our [local HTTPS feature](/universal-gateway/http/#https-forwarding).

For custom domains, use ngrok's [Automated TLS certificates](/universal-gateway/tls-certificates/#automated) to have ngrok automatically provision a TLS certificate for your endpoint from Let's Encrypt.
For custom domains, use ngrok's [Automated TLS certificates](/universal-gateway/tls-certificatesautomatic-certificate-management/) to have ngrok automatically provision a TLS certificate for your endpoint from Let's Encrypt.

:::note

Expand All @@ -42,7 +42,7 @@ If your organization uses a custom ingress domain, your default ngrok configurat

### TLS termination

TLS Encryption is terminated at different locations depending on the ngrok Tunnel / Edge type and configuration. See the documentation on [Terminating TLS Connections](/universal-gateway/tls-termination/) for more details.
TLS Encryption is terminated at different locations depending on the ngrok Tunnel / Edge type and configuration. See the documentation on [Terminating TLS Connections](/universal-gateway/tls/tls-termination/) for more details.

### Minimum TLS version

Expand Down
2 changes: 1 addition & 1 deletion docs/guides/site-to-site-connectivity/apis-mtls.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -131,7 +131,7 @@ https://api.ngrok.com/agent_ingresses

## Create a custom wildcard domain

Next, create a custom [wildcard domain](/universal-gateway/domains/#wildcard-domains), which will allow you to
Next, create a custom [wildcard domain](/universal-gateway/domains/what-are-domains/#wildcard-domains), which will allow you to
create endpoints and receive traffic on any subdomain of your domain.

For example, you might create `*.customer1.{YOUR_DOMAIN}`. You would then be able to create endpoints
Expand Down
2 changes: 1 addition & 1 deletion docs/guides/site-to-site-connectivity/apis.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -113,7 +113,7 @@ https://api.ngrok.com/agent_ingresses

## Create a custom wildcard domain

Next, create a custom [wildcard domain](/universal-gateway/domains/#wildcard-domains), which will allow you to
Next, create a custom [wildcard domain](/universal-gateway/domains/what-are-domains/#wildcard-domains), which will allow you to
create endpoints and receive traffic on any subdomain of your domain.

For example, you might create `*.customer1.{YOUR_DOMAIN}`. You would then be able to create endpoints
Expand Down
2 changes: 1 addition & 1 deletion docs/guides/site-to-site-connectivity/dbs-mtls.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -134,7 +134,7 @@ https://api.ngrok.com/agent_ingresses

## Create a custom wildcard domain

Next, create a custom [wildcard domain](/universal-gateway/domains/#wildcard-domains), which will allow you to
Next, create a custom [wildcard domain](/universal-gateway/domains/what-are-domains/#wildcard-domains), which will allow you to
create endpoints and receive traffic on any subdomain of your domain.

For example, you might create `*.customer1.{YOUR_DOMAIN}`. You would then be able to create endpoints
Expand Down
6 changes: 3 additions & 3 deletions docs/guides/site-to-site-connectivity/end-customers.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -140,8 +140,8 @@ your vendor.
The agent always connects to the ngrok network via TLS. We support three encryption models based on where TLS is _terminated_:

1. **TLS termination at the ngrok network**. This is the default behavior when using HTTPS tunnels, where ngrok manages TLS certificate generation and renewal for both you and your vendor.
2. **TLS termination at the ngrok agent**. Often referred to as [zero-knowledge TLS](/universal-gateway/tls-termination/#end-to-end-encryption), this model encrypts your TLS tunnels end-to-end, using filesystem paths to your TLS certificate and key, without requiring you to reconfigure your upstream service for TLS termination.
3. **TLS termination at your upstream service**. This model implements [end-to-end zero-knowledge encryption](/universal-gateway/tls-termination/#end-to-end-encryption), where the ngrok network forwards unterminated connections through to your upstream application.
2. **TLS termination at the ngrok agent**. Often referred to as [zero-knowledge TLS](/universal-gateway/tls/tls-termination/#end-to-end-encryption), this model encrypts your TLS tunnels end-to-end, using filesystem paths to your TLS certificate and key, without requiring you to reconfigure your upstream service for TLS termination.
3. **TLS termination at your upstream service**. This model implements [end-to-end zero-knowledge encryption](/universal-gateway/tls/tls-termination/#end-to-end-encryption), where the ngrok network forwards unterminated connections through to your upstream application.

### Is my data end-to-end encrypted?

Expand Down Expand Up @@ -196,7 +196,7 @@ Your vendor can also work with ngrok to provision dedicated IPs for their custom

At this point, you can block the default agent ingress address at `connect.ngrok-agent.com:443`, which all agents use by default to connect outbound to ngrok’s network. This address resolves to a dynamic set of IP addresses, and blocking it at your network prevents any usage outside of this site-to-site connectivity use case in partnership with your vendor, such as developers utilizing ngrok to tunnel local development environments to the public internet.

You should also block the [ngrok-managed public domains](/universal-gateway/domains/#ngrok-managed-domains), e.g. `ngrok.app`, `ngrok.io`, etc.
You should also block the [ngrok-managed public domains](/universal-gateway/domains/what-are-managed-domains), e.g. `ngrok.app`, `ngrok.io`, etc.

Work with your vendor to design an architecture that [prevents unauthorized
use](#how-can-i-prevent-ngrok-from-being-used-for-any-purpose-other-than-in-site-to-site-connectivity-with-my-vendor?)
Expand Down
2 changes: 1 addition & 1 deletion docs/integrations/digitalocean/gslb.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ To simplify authenticating your account with the ngrok API, export the API key o
export NGROK_API_KEY=<YOUR-API-KEY>
```

Next, create a domain that is a subdomain of an [ngrok-managed domain](/universal-gateway/domains/). For an example deployment like this, `YOUR_COMPANY-digitalocean-gslb.ngrok.app` would work great.
Next, create a domain that is a subdomain of an [ngrok-managed domain](/universal-gateway/domains/what-are-domains/). For an example deployment like this, `YOUR_COMPANY-digitalocean-gslb.ngrok.app` would work great.

You can reserve your domain in one of two ways: with the [ngrok API](/api/), or in the [ngrok dashboard](https://dashboard.ngrok.com/domains).

Expand Down
2 changes: 1 addition & 1 deletion docs/integrations/linode/gslb.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ To simplify authenticating your account with the ngrok API, export the API key o
export NGROK_API_KEY=<YOUR-API-KEY>
```

Next, create a domain that is a subdomain of an [ngrok-managed domain](/universal-gateway/domains/). For an example deployment like this, `YOUR_COMPANY-linode-gslb.ngrok.app` would work great.
Next, create a domain that is a subdomain of an [ngrok-managed domain](/universal-gateway/domains/what-are-domains/). For an example deployment like this, `YOUR_COMPANY-linode-gslb.ngrok.app` would work great.

You can reserve your domain in one of two ways: with the [ngrok API](/api/), or in the [ngrok dashboard](https://dashboard.ngrok.com/domains).

Expand Down
Loading