-
Notifications
You must be signed in to change notification settings - Fork 4.1k
Revise the Universal Gateway Overview page #1647
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
sg-writer
wants to merge
14
commits into
main
Choose a base branch
from
universal-gateway-overview-redux
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
14 commits
Select commit
Hold shift + click to select a range
87da1c4
quick pass
sg-writer 1425f5e
address most of shaquil and niji feedback
sg-writer e1da245
convert some stuff to cards
sg-writer b3141ff
use case cards cleanup
sg-writer 6905ab0
tighten copy more
sg-writer ab879be
more cards
sg-writer 0f89eae
another pass
sg-writer 53953c8
revise intro line, swap concepts and features formatting
sg-writer ff93f11
concepts get top spot and new content
sg-writer d34576a
concepts / features / use cases
sg-writer f466cf2
Update universal-gateway/overview.mdx
sg-writer fadddfc
merge main
sg-writer 98e294f
run the CI to see the results
sg-writer 45fe51e
ci check again
sg-writer File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Some comments aren't visible on the classic Files Changed page.
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,58 +1,94 @@ | ||
| --- | ||
| title: Universal Gateway Overview | ||
| sidebarTitle: Overview | ||
| description: Learn about ngrok's building blocks for creating API and device gateways, identity-aware proxies, and site-to-site connectivity. | ||
| --- | ||
|
|
||
| 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 is a universal gateway platform that gives you the building blocks to create powerful API and device gateways, identity-aware proxies, and site-to-site connectivity. | ||
| Across all use cases it secures, accelerates, and protects your applications. | ||
S3Prototype marked this conversation as resolved.
Show resolved
Hide resolved
|
||
| Additionally: | ||
|
|
||
| ## Concepts | ||
|
|
||
| Dive into the different parts of the Universal Gateway like Endpoints, Bindings, Pools, and Domains to understand how they work. | ||
|
|
||
| Learn more about Universal Gateway Concepts: | ||
|
|
||
| - [Domains →](/universal-gateway/domains/) | ||
| - [TCP Addresses →](/universal-gateway/tcp-addresses/) | ||
| - [TLS Certificates →](/universal-gateway/tls-certificates/) | ||
| - [Edges →](/universal-gateway/edges/) | ||
|
|
||
| ## Endpoints | ||
|
|
||
| [Endpoints](/universal-gateway/endpoints/) are how ngrok enables traffic to reach your services. | ||
|
|
||
| Learn more about Endpoints: | ||
|
|
||
| - [Bindings →](/universal-gateway/bindings/) | ||
| - [Internal Endpoints →](/universal-gateway/internal-endpoints/) | ||
| - [Public Endpoints →](/universal-gateway/public-endpoints/) | ||
| - [Kubernetes Endpoints →](/universal-gateway/kubernetes-endpoints/) | ||
|
|
||
| ## 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. | ||
| - It works with software running locally or in the cloud, and with devices running on-premises or distributed in the field. | ||
| - It supports [TCP](/universal-gateway/tcp/), [TLS](/universal-gateway/tls/), and [HTTP/S](/universal-gateway/http/). | ||
| - You can deliver traffic to internal and public APIs, and [orchestrate traffic](/traffic-policy/) across your devices. | ||
| - It's globally distributed by default and provides support for multiple environments with minimal configuration. | ||
|
|
||
| - [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. | ||
| ## Concepts | ||
|
|
||
| - [Learn more about DDoS Protection →](/universal-gateway/ddos-protection) | ||
| Here are the core elements you should familiarize yourself with to make the most of the universal gateway: | ||
|
|
||
| <Columns cols={1}> | ||
| <Card title="Endpoints" href="/universal-gateway/endpoints/" horizontal> | ||
| Create and manage endpoints to orchestrate traffic to your services. | ||
| </Card> | ||
| <Card title="Domains" href="/universal-gateway/domains/" horizontal> | ||
| Create public endpoints with hostnames matching your domain and configure | ||
| domain-level behaviors. | ||
| </Card> | ||
| <Card | ||
| title="TCP Addresses" | ||
| href="/universal-gateway/tcp-addresses/" | ||
| horizontal | ||
| > | ||
| Create public TCP endpoints on a fixed hostname and port. | ||
| </Card> | ||
| <Card | ||
| title="TLS Certificates" | ||
| href="/universal-gateway/tls-certificates/" | ||
| horizontal | ||
| > | ||
| Automatically manage TLS certificates for terminating TLS connections to | ||
| your endpoints. | ||
| </Card> | ||
| </Columns> | ||
|
|
||
| ## Features | ||
|
|
||
| Here are the primary building blocks of the universal gateway: | ||
|
|
||
| - [Traffic Policy](/traffic-policy/) - Filter, match, manage, and orchestrate traffic to your endpoints. | ||
| - [Traffic observability](/obs/) - Capture and replay requests and responses. | ||
| - [Identity and access management](/iam/) - Manage credentials for human users and automated processes. | ||
| - [Kubernetes support](/k8s/) - Ingress and cross-platform Gateway API configuration resources. | ||
| - [Secure tunnels](/agent/) - Expose local services or connect devices to ngrok's global network. | ||
|
|
||
| ## Use cases | ||
|
|
||
| Here are some of the most common use cases, from the [examples collection](/universal-gateway/examples/): | ||
|
|
||
| <Columns cols={2}> | ||
| <Card | ||
| title="Route to endpoints by geography" | ||
| icon="globe" | ||
| href="/universal-gateway/examples/route-by-geography/" | ||
| > | ||
| Forward requests based on IP geolocation data for reduced latency or | ||
| country-specific features. | ||
| </Card> | ||
| <Card | ||
| title="Create identity-based rate limits" | ||
| icon="user" | ||
| href="/universal-gateway/examples/pre-tier-requests/" | ||
| > | ||
| Pre-tier requests based on your packaging or pricing model. | ||
| </Card> | ||
| <Card | ||
| title="Secure a public Minecraft server" | ||
| icon="gamepad" | ||
| href="/universal-gateway/examples/minecraft/" | ||
| > | ||
| Restrict server access to a specific set of IP addresses. | ||
| </Card> | ||
| <Card | ||
| title="Intercept and rewrite headers" | ||
| icon="pencil" | ||
| href="/universal-gateway/examples/rewrite-headers-redirects/" | ||
| > | ||
| Intercept 302 redirect headers to preserve UX and agent behavior. | ||
| </Card> | ||
| </Columns> | ||
|
|
||
| ## What's next? | ||
|
|
||
sg-writer marked this conversation as resolved.
Show resolved
Hide resolved
|
||
| - 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/). | ||
| - Check out the [Universal Gateway examples collection](/universal-gateway/examples/) to see how to implement even more common use cases. | ||
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.