From d6445933427c14efc5abf3452a976dc5baf6423e Mon Sep 17 00:00:00 2001 From: fatedier Date: Fri, 6 Mar 2026 21:31:29 +0800 Subject: [PATCH] server/proxy: simplify HTTPS and TCPMux proxy domain registration (#5208) Consolidate the separate custom-domain loop and subdomain block into a single unified loop, matching the pattern already applied to HTTPProxy in PR #5207. No behavioral change. --- server/proxy/https.go | 23 +++++++++-------------- server/proxy/tcpmux.go | 22 ++++++++++------------ 2 files changed, 19 insertions(+), 26 deletions(-) diff --git a/server/proxy/https.go b/server/proxy/https.go index f137ea7a..b65cac34 100644 --- a/server/proxy/https.go +++ b/server/proxy/https.go @@ -53,23 +53,18 @@ func (pxy *HTTPSProxy) Run() (remoteAddr string, err error) { pxy.Close() } }() - addrs := make([]string, 0) - for _, domain := range pxy.cfg.CustomDomains { - if domain == "" { - continue + domains := make([]string, 0, len(pxy.cfg.CustomDomains)+1) + for _, d := range pxy.cfg.CustomDomains { + if d != "" { + domains = append(domains, d) } - - l, err := pxy.listenForDomain(routeConfig, domain) - if err != nil { - return "", err - } - pxy.listeners = append(pxy.listeners, l) - addrs = append(addrs, util.CanonicalAddr(domain, pxy.serverCfg.VhostHTTPSPort)) - xl.Infof("https proxy listen for host [%s] group [%s]", domain, pxy.cfg.LoadBalancer.Group) + } + if pxy.cfg.SubDomain != "" { + domains = append(domains, pxy.cfg.SubDomain+"."+pxy.serverCfg.SubDomainHost) } - if pxy.cfg.SubDomain != "" { - domain := pxy.cfg.SubDomain + "." + pxy.serverCfg.SubDomainHost + addrs := make([]string, 0) + for _, domain := range domains { l, err := pxy.listenForDomain(routeConfig, domain) if err != nil { return "", err diff --git a/server/proxy/tcpmux.go b/server/proxy/tcpmux.go index 6e95b66b..f68ad12d 100644 --- a/server/proxy/tcpmux.go +++ b/server/proxy/tcpmux.go @@ -72,21 +72,19 @@ func (pxy *TCPMuxProxy) httpConnectListen( } func (pxy *TCPMuxProxy) httpConnectRun() (remoteAddr string, err error) { - addrs := make([]string, 0) - for _, domain := range pxy.cfg.CustomDomains { - if domain == "" { - continue - } - - addrs, err = pxy.httpConnectListen(domain, pxy.cfg.RouteByHTTPUser, pxy.cfg.HTTPUser, pxy.cfg.HTTPPassword, addrs) - if err != nil { - return "", err + domains := make([]string, 0, len(pxy.cfg.CustomDomains)+1) + for _, d := range pxy.cfg.CustomDomains { + if d != "" { + domains = append(domains, d) } } - if pxy.cfg.SubDomain != "" { - addrs, err = pxy.httpConnectListen(pxy.cfg.SubDomain+"."+pxy.serverCfg.SubDomainHost, - pxy.cfg.RouteByHTTPUser, pxy.cfg.HTTPUser, pxy.cfg.HTTPPassword, addrs) + domains = append(domains, pxy.cfg.SubDomain+"."+pxy.serverCfg.SubDomainHost) + } + + addrs := make([]string, 0) + for _, domain := range domains { + addrs, err = pxy.httpConnectListen(domain, pxy.cfg.RouteByHTTPUser, pxy.cfg.HTTPUser, pxy.cfg.HTTPPassword, addrs) if err != nil { return "", err }