-
Notifications
You must be signed in to change notification settings - Fork 3.9k
Revise the primary product overview pages #1475
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
26
commits into
main
Choose a base branch
from
sg/doc-359-revise-the-universal-gateway-overview-page
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
26 commits
Select commit
Hold shift + click to select a range
6070022
first pass at structure
sg-writer 371aece
framing
sg-writer 4fa67d9
elaborating
sg-writer 5cda8ba
expanding
sg-writer 21ee3b0
ci: apply automated fixes
autofix-ci[bot] 67b9b77
merge main
sg-writer 675fd0b
full pass up to whats next
sg-writer 72b3d24
more progress, whats next
sg-writer d9aac91
traffic policy
sg-writer 7291853
new copy, shaquil early feedback
sg-writer 08c4ff2
parallel phrasing
sg-writer f899385
ug vs ngrok
sg-writer f615d67
common terms vs ngrokisms
sg-writer 5ad8184
links
sg-writer 90364e3
small edits, no semi colons
sg-writer 3183c28
ci: apply automated fixes
autofix-ci[bot] bff9000
typo
sg-writer 0c24cd1
reduce
sg-writer 489ba07
order
sg-writer ed998fe
avoid saying across twice in two adjacent sentences
sg-writer 6711180
Merge branch 'main' into sg/doc-359-revise-the-universal-gateway-over…
sg-writer 2880808
reinforce keyword in headers
sg-writer 69159b0
expand scope
sg-writer fbb4da4
clean up existing content
sg-writer 2b1d241
cleanup
sg-writer e4ae668
ci: apply automated fixes
autofix-ci[bot] 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
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
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
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
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
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 |
---|---|---|
|
@@ -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. | ||
## Features | ||
|
||
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. | ||
- [**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 | ||
## 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/): | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe 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) | ||
- Check out the [Universal Gateway examples collection](/docs/universal-gateway/examples/) to see how to implement even more common use cases. | ||
sg-writer marked this conversation as resolved.
Show resolved
Hide resolved
|
||
- 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/). | ||
- 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/). |
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.
There was a problem hiding this comment.
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?
There was a problem hiding this comment.
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
There was a problem hiding this comment.
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.