Skip to content
Open
Changes from 22 commits
Commits
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
68 changes: 23 additions & 45 deletions docs/universal-gateway/overview.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -4,58 +4,36 @@ sidebar_label: Overview
pagination_next: universal-gateway/domains
---

# Universal Gateway
## What is the Universal Gateway?

ngrok's Universal Gateway is a suite of common tools for building API and device gateways, identity-aware proxies, and site-to-site connectivity.
It secures, accelerates, and protects your applications.
We call it a Universal Gateway because it supports [TCP](/universal-gateway/tcp/) and [TLS](/universal-gateway/tls/) applications as well as [HTTP/S](/universal-gateway/http/).
ngrok's Universal Gateway is a flexible and composable platform for building API and device gateways, identity-aware proxies, and site-to-site connectivity.

## Concepts
**What makes it "universal"?**
The Universal Gateway can be used with software running locally or in the cloud, and with devices running on-premises or distributed in the field.
You can deliver traffic to internal and public APIs as well as orchestrate traffic across your devices.
It's globally distributed by default and provides support for multiple environments with minimal configuration.

Dive into the different parts of the Universal Gateway like Endpoints, Bindings, Pools, and Domains to understand how they work.
## Universal Gateway features
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How do you feel about dropping "Universal Gateway" in these headings? So just "Features" and "Use cases"

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I had a thought that it might help with SEO but I don't actually know if that's true. 🤷‍♂️ I don't have a strong opinion either way but your suggestion is definitely cleaner.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@samcrichard and @jnbritton might have input in regard to SEO


Learn more about Universal Gateway Concepts:
Here are some of the key features of the Universal Gateway platform:

- [Domains →](/universal-gateway/domains/)
- [TCP Addresses →](/universal-gateway/tcp-addresses/)
- [TLS Certificates →](/universal-gateway/tls-certificates/)
- [Edges →](/universal-gateway/edges/)
- [**Traffic Policy**](/docs/traffic-policy/): filter, match, manage, and orchestrate traffic to your endpoints.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This ended up wrapped in the definition component, which is kind of interesting. I can update the code to not do that. How do you feel about it?

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I personally don't know if it's a good or bad thing that's why I'm asking

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think I kind of like it? It's the only proper noun / ngrokism on the list and I like that the definition component kind of underscores that and offers some reassurance that you're not expected to know what it is already.

- [**Traffic observability**](/docs/obs/): capture request and response data; replay requests against your endpoints for debugging replication.
- [**Identity and access management**](/docs/iam/): manage credentials for human users and automated processes.
- [**Kubernetes support**](/docs/k8s/): ngrok's Kubernetes Operator supports ingress resources as well as cross-platform Gateway API configuration resources.

## Endpoints
## Universal Gateway use cases

[Endpoints](/universal-gateway/endpoints/) are how ngrok enables traffic to reach your services.
Here are some of the most common use cases for the Universal Gateway, from the [examples collection](/universal-gateway/examples/):
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I love these 👍


Learn more about Endpoints:
- [**The front door pattern**](/universal-gateway/examples/front-door-pattern/): Set up a single public endpoint to serve as the centralized entrance to all upstream services.
- [**Route to endpoints by geography**](/universal-gateway/examples/route-by-geography/): Forward requests based on IP geolocation data for improved latency or country-specific features.
- [**Create identity-based rate limits**](/universal-gateway/examples/pre-tier-requests/): Pre-tier requests based on your packaging or pricing model.
- [**Secure a public Minecraft server**](/universal-gateway/examples/minecraft/): Restrict server access to a specific set of IP addresses.
- [**Intercept and rewrite headers**](/universal-gateway/examples/rewrite-headers-redirects/): Intercept 302 redirect headers to preserve UX and agent behavior.

- [Bindings →](/universal-gateway/bindings/)
- [Internal Endpoints →](/universal-gateway/internal-endpoints/)
- [Public Endpoints →](/universal-gateway/public-endpoints/)
- [Kubernetes Endpoints →](/universal-gateway/kubernetes-endpoints/)
## What's next?

## Load Balancing

Endpoints Pools make load balancing dead simple.
When your create two endpoints with the same URL (and binding), those endpoints automatically "pool" together and traffic to their URL is balanced among them.

- [Learn more about Load Balancing with Endpoint Pools →](/universal-gateway/endpoint-pooling/)

## TLS

ngrok automatically handles TLS (SSL) termination and certificate management for you.
There is typically nothing to setup, configure, or manage.

- [Learn more about TLS Certificates →](/universal-gateway/tls-certificates/)
- [Learn more about the TLS Termination →](/universal-gateway/tls-termination/)

## Global Load Balancer

ngrok's Global Load Balancer automatically improves the performance and resiliency of your applications by distributing traffic to the nearest healthy point of presence, measured by latency, from the perspective of the connecting client.

- [Learn more about the Global Load Balancer →](/universal-gateway/global-load-balancer/)
- [See ngrok's Global Points of Presence →](/universal-gateway/points-of-presence)

## DDoS Protection

ngrok automatically protects your applications with out-of-the-box protection from distributed denial-of-service (DDoS) attacks.

- [Learn more about DDoS Protection →](/universal-gateway/ddos-protection)
- Explore key concepts for working with the Universal Gateway such as [endpoint types](/universal-gateway/types/), [protocols](/universal-gateway/protocols/), [bindings](/universal-gateway/bindings/), and [pooling](/universal-gateway/endpoint-pooling/).
- Check out the [Universal Gateway examples collection](/docs/universal-gateway/examples/) to see how to implement even more common use cases.
- Proceed to the Guides section to get started with ngrok as an [API gateway](/guides/api-gateway/get-started/), [device gateway](/guides/device-gateway/agent/), [identity-aware proxy](/guides/identity-aware-proxy/securing-with-oauth/), or for [site-to-site connectivity](/guides/identity-aware-proxy/securing-with-oauth/).