You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/admin/networking/index.md
+6-154Lines changed: 6 additions & 154 deletions
Original file line number
Diff line number
Diff line change
@@ -8,6 +8,8 @@ and connection types.
8
8
9
9

10
10
11
+
For more information about the underlying networking stack, Coder agent, or geo-distributed networking, consult [Connections and geo-distribution](./more-networking/index.md). Visit the [troubleshooting doc](./troubleshooting.md) for ways to resolve common issues.
12
+
11
13
## Coder server, workspaces, users
12
14
13
15
Coder's network topology has three general types of nodes or ways of interacting
@@ -67,164 +69,14 @@ and the Coder server.
67
69
68
70
## Web Apps
69
71
70
-
The Coder servers relays dashboard-initiated connections between the user and
71
-
the workspace. Web terminal <-> workspace connections are an exception and may
72
-
be direct.
72
+
The Coder server relays dashboard-initiated connections between the user and
73
+
the workspace.
74
+
Connections between the web terminal and workspace are an exception and may be
75
+
direct.
73
76
74
77
In general, [port forwarded](./port-forwarding.md) web apps are faster than
75
78
dashboard-accessed web apps.
76
79
77
-
## 🌎 Geo-distribution
78
-
79
-
By default, Coder will attempt to create direct peer-to-peer connections between
80
-
the client (developer laptop) and workspace.
81
-
If this doesn’t work, the end result will be transparent to the end user because
82
-
Coder will fall back to connections relayed to the control plane.
83
-
84
-
### Direct connections
85
-
86
-
Direct connections reduce latency and improve upload and download speeds for developers.
87
-
However, there are many scenarios where direct connections cannot be established,
88
-
such as when the Coder [administrators disable direct connections](../../reference/cli/server.md#--block-direct-connections).
89
-
90
-
Consult the [direct connections section](./troubleshooting.md#common-problems-with-direct-connections)
91
-
of the troubleshooting guide for more information.
92
-
The troubleshooting guide also explains how to identify if a connection is direct
93
-
or not via the `coder ping` command.
94
-
95
-
Ideally, to speed up direct connections, move the user and workspace closer together.
96
-
97
-
Establishing a direct connection can be an involved process because both the
98
-
client and workspace agent will likely be behind at least one level of NAT,
99
-
meaning that we need to use STUN to learn the IP address and port under which
100
-
the client and agent can both contact each other. See [STUN and NAT](./stun.md)
101
-
for more information on how this process works.
102
-
103
-
If a direct connection is not available (e.g. client or server is behind NAT),
104
-
Coder will use a relayed connection. By default,
105
-
[Coder uses Google's public STUN server](../../reference/cli/server.md#--derp-server-stun-addresses),
106
-
but this can be disabled or changed for
107
-
[offline deployments](../../install/offline.md).
108
-
109
-
In order for clients to be able to establish direct connections:
110
-
111
-
> **Note:** Direct connections via the web browser are not supported. To improve
112
-
> latency for browser-based applications running inside Coder workspaces in
113
-
> regions far from the Coder control plane, consider deploying one or more
114
-
> [workspace proxies](./workspace-proxies.md).
115
-
116
-
- The client is connecting using the CLI (e.g. `coder ssh` or
Workspace proxies and provisioners can be deployed for low-latency access to
41
+
workspaces for distributed teams.
42
+
43
+
By default, Coder will attempt to create direct peer-to-peer connections between
44
+
the client (developer laptop) and workspace.
45
+
If this doesn’t work, the end result will be transparent to the end user because
46
+
Coder will fall back to connections relayed to the control plane.
47
+
48
+
Since Coder supports deploying resources in multiple regions, developers will want a fast connection to those workspaces. Workspace proxies are designed to relay traffic to workspaces without having to route traffic to the central Coder server. Both web traffic and SSH traffic is relayed through workspace proxies.
49
+
50
+
### Workspace Proxies
51
+
52
+
[Workspace Proxies](./workspace-proxies.md) are a
53
+
[Premium](https://coder.com/pricing#compare-plans) feature that allows you to
54
+
provide low-latency browser experiences for geo-distributed teams.
55
+
56
+
### Direct connections
57
+
58
+
Direct connections reduce latency and improve upload and download speeds for developers.
59
+
However, there are many scenarios where direct connections cannot be established,
60
+
such as when the Coder [administrators disable direct connections](../../reference/cli/server.md#--block-direct-connections).
61
+
62
+
Consult the [direct connections section](./troubleshooting.md#common-problems-with-direct-connections)
63
+
of the troubleshooting guide for more information.
64
+
The troubleshooting guide also explains how to identify if a connection is direct
65
+
or not via the `coder ping` command.
66
+
67
+
Ideally, to speed up direct connections, move the user and workspace closer together.
68
+
69
+
Establishing a direct connection can be an involved process because both the
70
+
client and workspace agent will likely be behind at least one level of NAT,
71
+
meaning that we need to use STUN to learn the IP address and port under which
72
+
the client and agent can both contact each other. See [STUN and NAT](./stun.md)
73
+
for more information on how this process works.
74
+
75
+
If a direct connection is not available (e.g. client or server is behind NAT),
76
+
Coder will use a relayed connection. By default,
77
+
[Coder uses Google's public STUN server](../../reference/cli/server.md#--derp-server-stun-addresses),
78
+
but this can be disabled or changed for
79
+
[offline deployments](../../install/offline.md).
80
+
81
+
In order for clients to be able to establish direct connections:
82
+
83
+
> **Note:** Direct connections via the web browser are not supported. To improve
84
+
> latency for browser-based applications running inside Coder workspaces in
85
+
> regions far from the Coder control plane, consider deploying one or more
86
+
> [workspace proxies](./workspace-proxies.md).
87
+
88
+
- The client is connecting using the CLI (e.g. `coder ssh` or
0 commit comments