summaryrefslogtreecommitdiffhomepage
path: root/cmd
diff options
context:
space:
mode:
authorshayne <shayne@tailscale.com>2023-04-05 12:33:18 -0400
committerGitHub <noreply@github.com>2023-04-05 12:33:18 -0400
commit81fd00a6b792ca047d7a875b58dba4dc51585ea9 (patch)
tree2b3a2a640ee1f4ac6d613e9fdbab68b3e0976a35 /cmd
parentd42d57006607b72402d319a97f7ae3af06024d0f (diff)
downloadtailscale-81fd00a6b792ca047d7a875b58dba4dc51585ea9.tar.xz
tailscale-81fd00a6b792ca047d7a875b58dba4dc51585ea9.zip
cmd/tailscale/cli: [serve] add support for proxy paths (#7800)
Diffstat (limited to 'cmd')
-rw-r--r--cmd/tailscale/cli/serve.go1
-rw-r--r--cmd/tailscale/cli/serve_test.go12
2 files changed, 13 insertions, 0 deletions
diff --git a/cmd/tailscale/cli/serve.go b/cmd/tailscale/cli/serve.go
index 244ce03d1..7691c7497 100644
--- a/cmd/tailscale/cli/serve.go
+++ b/cmd/tailscale/cli/serve.go
@@ -453,6 +453,7 @@ func expandProxyTarget(source string) (string, error) {
if u.Port() != "" {
url += ":" + u.Port()
}
+ url += u.Path
return url, nil
}
diff --git a/cmd/tailscale/cli/serve_test.go b/cmd/tailscale/cli/serve_test.go
index c94f4ca9c..8031b2b02 100644
--- a/cmd/tailscale/cli/serve_test.go
+++ b/cmd/tailscale/cli/serve_test.go
@@ -262,6 +262,18 @@ func TestServeConfigMutations(t *testing.T) {
},
},
})
+ add(step{reset: true})
+ add(step{ // support path in proxy
+ command: cmd("https / http://127.0.0.1:3000/foo/bar"),
+ want: &ipn.ServeConfig{
+ TCP: map[uint16]*ipn.TCPPortHandler{443: {HTTPS: true}},
+ Web: map[ipn.HostPort]*ipn.WebServerConfig{
+ "foo.test.ts.net:443": {Handlers: map[string]*ipn.HTTPHandler{
+ "/": {Proxy: "http://127.0.0.1:3000/foo/bar"},
+ }},
+ },
+ },
+ })
// tcp
add(step{reset: true})