mirror of
https://github.com/tailscale/tailscale.git
synced 2025-02-27 10:47:35 +00:00
serve: fix hostname for custom http ports
When using a custom http port like 8080, this was resulting in a constructed hostname of `host.tailnet.ts.net:8080.tailnet.ts.net` when looking up the serve handler. Instead, strip off the port before adding the MagicDNS suffix. Also use the actual hostname in `serve status` rather than the literal string "host". Fixes #8635 Signed-off-by: Will Norris <will@tailscale.com>
This commit is contained in:
parent
c19b5bfbc3
commit
f8b0caa8c2
@ -699,7 +699,7 @@ func (e *serveEnv) printWebStatusTree(sc *ipn.ServeConfig, hp ipn.HostPort) erro
|
|||||||
portPart = ""
|
portPart = ""
|
||||||
}
|
}
|
||||||
if scheme == "http" {
|
if scheme == "http" {
|
||||||
hostname, _, _ := strings.Cut("host", ".")
|
hostname, _, _ := strings.Cut(host, ".")
|
||||||
printf("%s://%s%s (%s)\n", scheme, hostname, portPart, fStatus)
|
printf("%s://%s%s (%s)\n", scheme, hostname, portPart, fStatus)
|
||||||
}
|
}
|
||||||
printf("%s://%s%s (%s)\n", scheme, host, portPart, fStatus)
|
printf("%s://%s%s (%s)\n", scheme, host, portPart, fStatus)
|
||||||
|
@ -415,6 +415,9 @@ func (b *LocalBackend) getServeHandler(r *http.Request) (_ ipn.HTTPHandlerView,
|
|||||||
hostname := r.Host
|
hostname := r.Host
|
||||||
if r.TLS == nil {
|
if r.TLS == nil {
|
||||||
tcd := "." + b.Status().CurrentTailnet.MagicDNSSuffix
|
tcd := "." + b.Status().CurrentTailnet.MagicDNSSuffix
|
||||||
|
if host, _, err := net.SplitHostPort(hostname); err == nil {
|
||||||
|
hostname = host
|
||||||
|
}
|
||||||
if !strings.HasSuffix(hostname, tcd) {
|
if !strings.HasSuffix(hostname, tcd) {
|
||||||
hostname += tcd
|
hostname += tcd
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user