可以直接用CNAME访问服务

This commit is contained in:
GoEdgeLab
2020-11-17 16:53:58 +08:00
parent 98d4837401
commit 3fe9b4dcde
2 changed files with 30 additions and 0 deletions

View File

@@ -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{}

View File

@@ -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)