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.
This commit is contained in:
fatedier
2026-03-06 21:31:29 +08:00
committed by GitHub
parent 427c4ca3ae
commit d644593342
2 changed files with 19 additions and 26 deletions

View File

@@ -53,23 +53,18 @@ func (pxy *HTTPSProxy) Run() (remoteAddr string, err error) {
pxy.Close() pxy.Close()
} }
}() }()
addrs := make([]string, 0) domains := make([]string, 0, len(pxy.cfg.CustomDomains)+1)
for _, domain := range pxy.cfg.CustomDomains { for _, d := range pxy.cfg.CustomDomains {
if domain == "" { if d != "" {
continue domains = append(domains, d)
} }
}
l, err := pxy.listenForDomain(routeConfig, domain) if pxy.cfg.SubDomain != "" {
if err != nil { domains = append(domains, pxy.cfg.SubDomain+"."+pxy.serverCfg.SubDomainHost)
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 != "" { addrs := make([]string, 0)
domain := pxy.cfg.SubDomain + "." + pxy.serverCfg.SubDomainHost for _, domain := range domains {
l, err := pxy.listenForDomain(routeConfig, domain) l, err := pxy.listenForDomain(routeConfig, domain)
if err != nil { if err != nil {
return "", err return "", err

View File

@@ -72,21 +72,19 @@ func (pxy *TCPMuxProxy) httpConnectListen(
} }
func (pxy *TCPMuxProxy) httpConnectRun() (remoteAddr string, err error) { func (pxy *TCPMuxProxy) httpConnectRun() (remoteAddr string, err error) {
addrs := make([]string, 0) domains := make([]string, 0, len(pxy.cfg.CustomDomains)+1)
for _, domain := range pxy.cfg.CustomDomains { for _, d := range pxy.cfg.CustomDomains {
if domain == "" { if d != "" {
continue domains = append(domains, d)
}
addrs, err = pxy.httpConnectListen(domain, pxy.cfg.RouteByHTTPUser, pxy.cfg.HTTPUser, pxy.cfg.HTTPPassword, addrs)
if err != nil {
return "", err
} }
} }
if pxy.cfg.SubDomain != "" { if pxy.cfg.SubDomain != "" {
addrs, err = pxy.httpConnectListen(pxy.cfg.SubDomain+"."+pxy.serverCfg.SubDomainHost, domains = append(domains, pxy.cfg.SubDomain+"."+pxy.serverCfg.SubDomainHost)
pxy.cfg.RouteByHTTPUser, pxy.cfg.HTTPUser, pxy.cfg.HTTPPassword, addrs) }
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 { if err != nil {
return "", err return "", err
} }