@@ -208,15 +208,25 @@ func Server(dflags *codersdk.DeploymentFlags, newAPI func(context.Context, *code
208208 )
209209 defer closeTunnel ()
210210
211- // If the access URL is empty, we attempt to run a reverse-proxy tunnel
212- // to make the initial setup really simple.
211+ // If the access URL is empty, we attempt to run a reverse-proxy
212+ // tunnel to make the initial setup really simple.
213213 if dflags .AccessURL .Value == "" {
214214 cmd .Printf ("Opening tunnel so workspaces can connect to your deployment. For production scenarios, specify an external access URL\n " )
215215 tunnel , tunnelErr , err = devtunnel .New (ctxTunnel , logger .Named ("devtunnel" ))
216216 if err != nil {
217217 return xerrors .Errorf ("create tunnel: %w" , err )
218218 }
219219 dflags .AccessURL .Value = tunnel .URL
220+
221+ if dflags .WildcardAccessURL .Value == "" {
222+ u , err := parseURL (ctx , tunnel .URL )
223+ if err != nil {
224+ return xerrors .Errorf ("parse tunnel url: %w" , err )
225+ }
226+
227+ // Suffixed wildcard access URL.
228+ dflags .WildcardAccessURL .Value = fmt .Sprintf ("*--%s" , u .Hostname ())
229+ }
220230 }
221231
222232 accessURLParsed , err := parseURL (ctx , dflags .AccessURL .Value )
@@ -752,7 +762,7 @@ func Server(dflags *codersdk.DeploymentFlags, newAPI func(context.Context, *code
752762
753763// parseURL parses a string into a URL. It works around some technically correct
754764// but undesired behavior of url.Parse by prepending a scheme if one does not
755- // exist so that the URL does not get parsed improprely .
765+ // exist so that the URL does not get parsed improperly .
756766func parseURL (ctx context.Context , u string ) (* url.URL , error ) {
757767 var (
758768 hasScheme = strings .HasPrefix (u , "http:" ) || strings .HasPrefix (u , "https:" )
@@ -1108,7 +1118,9 @@ func serveHandler(ctx context.Context, logger slog.Logger, handler http.Handler,
11081118 }
11091119 }()
11101120
1111- return func () { _ = srv .Close () }
1121+ return func () {
1122+ _ = srv .Close ()
1123+ }
11121124}
11131125
11141126// embeddedPostgresURL returns the URL for the embedded PostgreSQL deployment.
0 commit comments