TUN-7275: Make QuickTunnels only use a single connection to the edge
This commit is contained in:
parent
be341fa055
commit
f686da832f
|
@ -1,3 +1,7 @@
|
||||||
|
## 2023.3.2
|
||||||
|
### Notices
|
||||||
|
- Due to the nature of QuickTunnels (https://developers.cloudflare.com/cloudflare-one/connections/connect-apps/do-more-with-tunnels/trycloudflare/) and its intended usage for testing and experiment of Cloudflare Tunnels, starting from 2023.3.2, QuickTunnels only make a single connection to the edge. If users want to use Tunnels in a production enverionment, they should move to Named Tunnels instead. (https://developers.cloudflare.com/cloudflare-one/connections/connect-apps/install-and-setup/tunnel-guide/remote/#set-up-a-tunnel-remotely-dashboard-setup)
|
||||||
|
|
||||||
## 2023.3.1
|
## 2023.3.1
|
||||||
### Breaking Change
|
### Breaking Change
|
||||||
- Running a tunnel without ingress rules defined in configuration file nor from the CLI flags will no longer provide a default ingress rule to localhost:8080 and instead will return HTTP response code 503 for all incoming HTTP requests.
|
- Running a tunnel without ingress rules defined in configuration file nor from the CLI flags will no longer provide a default ingress rule to localhost:8080 and instead will return HTTP response code 503 for all incoming HTTP requests.
|
||||||
|
|
|
@ -42,6 +42,9 @@ import (
|
||||||
const (
|
const (
|
||||||
sentryDSN = "https://56a9c9fa5c364ab28f34b14f35ea0f1b:3e8827f6f9f740738eb11138f7bebb68@sentry.io/189878"
|
sentryDSN = "https://56a9c9fa5c364ab28f34b14f35ea0f1b:3e8827f6f9f740738eb11138f7bebb68@sentry.io/189878"
|
||||||
|
|
||||||
|
// ha-Connections specifies how many connections to make to the edge
|
||||||
|
haConnectionsFlag = "ha-connections"
|
||||||
|
|
||||||
// sshPortFlag is the port on localhost the cloudflared ssh server will run on
|
// sshPortFlag is the port on localhost the cloudflared ssh server will run on
|
||||||
sshPortFlag = "local-ssh-port"
|
sshPortFlag = "local-ssh-port"
|
||||||
|
|
||||||
|
@ -418,7 +421,7 @@ func StartServer(
|
||||||
errC <- metrics.ServeMetrics(metricsListener, ctx, metricsConfig, log)
|
errC <- metrics.ServeMetrics(metricsListener, ctx, metricsConfig, log)
|
||||||
}()
|
}()
|
||||||
|
|
||||||
reconnectCh := make(chan supervisor.ReconnectSignal, c.Int("ha-connections"))
|
reconnectCh := make(chan supervisor.ReconnectSignal, c.Int(haConnectionsFlag))
|
||||||
if c.IsSet("stdin-control") {
|
if c.IsSet("stdin-control") {
|
||||||
log.Info().Msg("Enabling control through stdin")
|
log.Info().Msg("Enabling control through stdin")
|
||||||
go stdinControl(reconnectCh, log)
|
go stdinControl(reconnectCh, log)
|
||||||
|
@ -655,7 +658,7 @@ func tunnelFlags(shouldHide bool) []cli.Flag {
|
||||||
Hidden: shouldHide,
|
Hidden: shouldHide,
|
||||||
}),
|
}),
|
||||||
altsrc.NewIntFlag(&cli.IntFlag{
|
altsrc.NewIntFlag(&cli.IntFlag{
|
||||||
Name: "ha-connections",
|
Name: haConnectionsFlag,
|
||||||
Value: 4,
|
Value: 4,
|
||||||
Hidden: true,
|
Hidden: true,
|
||||||
}),
|
}),
|
||||||
|
|
|
@ -293,7 +293,7 @@ func prepareTunnelConfig(
|
||||||
Region: c.String("region"),
|
Region: c.String("region"),
|
||||||
EdgeIPVersion: edgeIPVersion,
|
EdgeIPVersion: edgeIPVersion,
|
||||||
EdgeBindAddr: edgeBindAddr,
|
EdgeBindAddr: edgeBindAddr,
|
||||||
HAConnections: c.Int("ha-connections"),
|
HAConnections: c.Int(haConnectionsFlag),
|
||||||
IncidentLookup: supervisor.NewIncidentLookup(),
|
IncidentLookup: supervisor.NewIncidentLookup(),
|
||||||
IsAutoupdated: c.Bool("is-autoupdated"),
|
IsAutoupdated: c.Bool("is-autoupdated"),
|
||||||
LBPool: c.String("lb-pool"),
|
LBPool: c.String("lb-pool"),
|
||||||
|
|
|
@ -73,6 +73,9 @@ func RunQuickTunnel(sc *subcommandContext) error {
|
||||||
sc.c.Set("protocol", "quic")
|
sc.c.Set("protocol", "quic")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Override the number of connections used. Quick tunnels shouldn't be used for production usage,
|
||||||
|
// so, use a single connection instead.
|
||||||
|
sc.c.Set(haConnectionsFlag, "1")
|
||||||
return StartServer(
|
return StartServer(
|
||||||
sc.c,
|
sc.c,
|
||||||
buildInfo,
|
buildInfo,
|
||||||
|
|
|
@ -8,7 +8,7 @@ class TestQuickTunnels:
|
||||||
config = component_tests_config(cfd_mode=CfdModes.QUICK, run_proxy_dns=False)
|
config = component_tests_config(cfd_mode=CfdModes.QUICK, run_proxy_dns=False)
|
||||||
LOGGER.debug(config)
|
LOGGER.debug(config)
|
||||||
with start_cloudflared(tmp_path, config, cfd_args=["--hello-world"], new_process=True):
|
with start_cloudflared(tmp_path, config, cfd_args=["--hello-world"], new_process=True):
|
||||||
wait_tunnel_ready(require_min_connections=4)
|
wait_tunnel_ready(require_min_connections=1)
|
||||||
url = get_quicktunnel_url()
|
url = get_quicktunnel_url()
|
||||||
send_requests(url, 3, True)
|
send_requests(url, 3, True)
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue