From 3fe9b4dcde92bee5228a21024398f3749a6ac700 Mon Sep 17 00:00:00 2001 From: GoEdgeLab Date: Tue, 17 Nov 2020 16:53:58 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8F=AF=E4=BB=A5=E7=9B=B4=E6=8E=A5=E7=94=A8CN?= =?UTF-8?q?AME=E8=AE=BF=E9=97=AE=E6=9C=8D=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- internal/db/models/server_dao.go | 18 ++++++++++++++++++ internal/db/models/server_dao_test.go | 12 ++++++++++++ 2 files changed, 30 insertions(+) diff --git a/internal/db/models/server_dao.go b/internal/db/models/server_dao.go index ee857ef5..dab9b758 100644 --- a/internal/db/models/server_dao.go +++ b/internal/db/models/server_dao.go @@ -562,6 +562,24 @@ func (this *ServerDAO) ComposeServerConfig(serverId int64) (*serverconfigs.Serve config.ServerNames = serverNames } + // CNAME + if server.ClusterId > 0 && len(server.DnsName) > 0 { + clusterDNS, err := SharedNodeClusterDAO.FindClusterDNSInfo(int64(server.ClusterId)) + if err != nil { + return nil, err + } + if clusterDNS != nil && clusterDNS.DnsDomainId > 0 { + domain, err := SharedDNSDomainDAO.FindEnabledDNSDomain(int64(clusterDNS.DnsDomainId)) + if err != nil { + return nil, err + } + if domain != nil { + cname := server.DnsName + "." + domain.Name + config.AliasServerNames = append(config.AliasServerNames, cname) + } + } + } + // HTTP if len(server.Http) > 0 && server.Http != "null" { httpConfig := &serverconfigs.HTTPProtocolConfig{} diff --git a/internal/db/models/server_dao_test.go b/internal/db/models/server_dao_test.go index 6f2554ca..c518e79f 100644 --- a/internal/db/models/server_dao_test.go +++ b/internal/db/models/server_dao_test.go @@ -10,6 +10,7 @@ import ( ) func TestServerDAO_ComposeServerConfig(t *testing.T) { + dbs.NotifyReady() config, err := SharedServerDAO.ComposeServerConfig(1) if err != nil { t.Fatal(err) @@ -17,7 +18,18 @@ func TestServerDAO_ComposeServerConfig(t *testing.T) { logs.PrintAsJSON(config, t) } +func TestServerDAO_ComposeServerConfig_AliasServerNames(t *testing.T) { + dbs.NotifyReady() + config, err := SharedServerDAO.ComposeServerConfig(14) + if err != nil { + t.Fatal(err) + } + logs.PrintAsJSON(config.AliasServerNames, t) +} + func TestServerDAO_UpdateServerConfig(t *testing.T) { + dbs.NotifyReady() + config, err := SharedServerDAO.ComposeServerConfig(1) if err != nil { t.Fatal(err)