@@ -33,7 +33,7 @@ with security policies. In these cases, pass the `--browser-only` flag to
33
33
34
34
With browser-only connections, developers can only connect to their workspaces
35
35
via the web terminal and
36
- [ web IDEs] ( ../../user-guides/workspace-access/web-ides.md ) .
36
+ [ web IDEs] ( ../../../ user-guides/workspace-access/web-ides.md ) .
37
37
38
38
## 🌎 Geo-distribution
39
39
@@ -49,17 +49,17 @@ Since Coder supports deploying resources in multiple regions, developers will wa
49
49
50
50
### Workspace Proxies
51
51
52
- [ Workspace Proxies] ( ./workspace-proxies.md ) are a
52
+ [ Workspace Proxies] ( .. /workspace-proxies.md ) are a
53
53
[ Premium] ( https://coder.com/pricing#compare-plans ) feature that allows you to
54
54
provide low-latency browser experiences for geo-distributed teams.
55
55
56
56
### Direct connections
57
57
58
58
Direct connections reduce latency and improve upload and download speeds for developers.
59
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 ) .
60
+ such as when the Coder [ administrators disable direct connections] ( ../../../ reference/cli/server.md#--block-direct-connections ) .
61
61
62
- Consult the [ direct connections section] ( ./troubleshooting.md#common-problems-with-direct-connections )
62
+ Consult the [ direct connections section] ( .. /troubleshooting.md#common-problems-with-direct-connections )
63
63
of the troubleshooting guide for more information.
64
64
The troubleshooting guide also explains how to identify if a connection is direct
65
65
or not via the ` coder ping ` command.
@@ -69,42 +69,42 @@ Ideally, to speed up direct connections, move the user and workspace closer toge
69
69
Establishing a direct connection can be an involved process because both the
70
70
client and workspace agent will likely be behind at least one level of NAT,
71
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 )
72
+ the client and agent can both contact each other. See [ STUN and NAT] ( .. /stun.md )
73
73
for more information on how this process works.
74
74
75
75
If a direct connection is not available (e.g. client or server is behind NAT),
76
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 ) ,
77
+ [ Coder uses Google's public STUN server] ( ../../../ reference/cli/server.md#--derp-server-stun-addresses ) ,
78
78
but this can be disabled or changed for
79
- [ offline deployments] ( ../../install/offline.md ) .
79
+ [ offline deployments] ( ../../../ install/offline.md ) .
80
80
81
81
In order for clients to be able to establish direct connections:
82
82
83
83
> ** Note:** Direct connections via the web browser are not supported. To improve
84
84
> latency for browser-based applications running inside Coder workspaces in
85
85
> regions far from the Coder control plane, consider deploying one or more
86
- > [ workspace proxies] ( ./workspace-proxies.md ) .
86
+ > [ workspace proxies] ( .. /workspace-proxies.md ) .
87
87
88
88
- The client is connecting using the CLI (e.g. ` coder ssh ` or
89
89
` coder port-forward ` ). Note that the
90
90
[ VSCode extension] ( https://marketplace.visualstudio.com/items?itemName=coder.coder-remote )
91
91
and [ JetBrains Plugin] ( https://plugins.jetbrains.com/plugin/19620-coder/ ) , and
92
- [ ` ssh coder.<workspace> ` ] ( ../../reference/cli/config-ssh.md ) all utilize the
92
+ [ ` ssh coder.<workspace> ` ] ( ../../../ reference/cli/config-ssh.md ) all utilize the
93
93
CLI to establish a workspace connection.
94
94
- Either the client or workspace agent are able to discover a reachable
95
95
` ip:port ` of their counterpart. If the agent and client are able to
96
96
communicate with each other using their locally assigned IP addresses, then a
97
97
direct connection can be established immediately. Otherwise, the client and
98
98
agent will contact
99
- [ the configured STUN servers] ( ../../reference/cli/server.md#--derp-server-stun-addresses )
99
+ [ the configured STUN servers] ( ../../../ reference/cli/server.md#--derp-server-stun-addresses )
100
100
to try and determine which ` ip:port ` can be used to communicate with their
101
- counterpart. See [ STUN and NAT] ( ./stun.md ) for more details on how this
101
+ counterpart. See [ STUN and NAT] ( .. /stun.md ) for more details on how this
102
102
process works.
103
103
- All outbound UDP traffic must be allowed for both the client and the agent on
104
104
** all ports** to each others' respective networks.
105
105
- To establish a direct connection, both agent and client use STUN. This
106
106
involves sending UDP packets outbound on ` udp/3478 ` to the configured
107
- [ STUN server] ( ../../reference/cli/server.md#--derp-server-stun-addresses ) .
107
+ [ STUN server] ( ../../../ reference/cli/server.md#--derp-server-stun-addresses ) .
108
108
If either the agent or the client are unable to send and receive UDP packets
109
109
to a STUN server, then direct connections will not be possible.
110
110
- Both agents and clients will then establish a
@@ -115,7 +115,7 @@ In order for clients to be able to establish direct connections:
115
115
### Relayed connections
116
116
117
117
By default, your Coder server also runs a built-in DERP relay which can be used
118
- for both public and [ offline deployments] ( ../../install/offline.md ) .
118
+ for both public and [ offline deployments] ( ../../../ install/offline.md ) .
119
119
120
120
However, our Wireguard integration through Tailscale has graciously allowed us
121
121
to use
0 commit comments