diff --git a/internal/web/actions/default/clusters/cluster/node/detail.go b/internal/web/actions/default/clusters/cluster/node/detail.go index 32db67a6..fb29f89e 100644 --- a/internal/web/actions/default/clusters/cluster/node/detail.go +++ b/internal/web/actions/default/clusters/cluster/node/detail.go @@ -25,7 +25,8 @@ func (this *DetailAction) Init() { } func (this *DetailAction) RunGet(params struct { - NodeId int64 + NodeId int64 + ClusterId int64 }) { this.Data["nodeId"] = params.NodeId @@ -43,13 +44,13 @@ func (this *DetailAction) RunGet(params struct { // 主集群 var clusterMap maps.Map = nil if node.NodeCluster != nil { - clusterId := node.NodeCluster.Id + var clusterId = node.NodeCluster.Id clusterResp, err := this.RPC().NodeClusterRPC().FindEnabledNodeCluster(this.AdminContext(), &pb.FindEnabledNodeClusterRequest{NodeClusterId: clusterId}) if err != nil { this.ErrorPage(err) return } - cluster := clusterResp.NodeCluster + var cluster = clusterResp.NodeCluster if cluster != nil { clusterMap = maps.Map{ "id": cluster.Id, @@ -69,6 +70,14 @@ func (this *DetailAction) RunGet(params struct { }) } + // 当前访问集群的DNS设置 + clusterDNSInfo, err := this.RPC().NodeClusterRPC().FindEnabledNodeClusterDNS(this.AdminContext(), &pb.FindEnabledNodeClusterDNSRequest{NodeClusterId: params.ClusterId}) + if err != nil { + this.ErrorPage(err) + return + } + this.Data["dnsIsExcludingLnNode"] = clusterDNSInfo != nil && !clusterDNSInfo.IncludingLnNodes && node.Level > 1 + // IP地址 ipAddressesResp, err := this.RPC().NodeIPAddressRPC().FindAllEnabledNodeIPAddressesWithNodeId(this.AdminContext(), &pb.FindAllEnabledNodeIPAddressesWithNodeIdRequest{ NodeId: params.NodeId, diff --git a/internal/web/actions/default/clusters/cluster/settings/dns/index.go b/internal/web/actions/default/clusters/cluster/settings/dns/index.go index a4e84c94..7725861a 100644 --- a/internal/web/actions/default/clusters/cluster/settings/dns/index.go +++ b/internal/web/actions/default/clusters/cluster/settings/dns/index.go @@ -53,6 +53,7 @@ func (this *IndexAction) RunGet(params struct { } this.Data["ttl"] = dnsInfoResp.Ttl this.Data["cnameAsDomain"] = dnsInfoResp.CnameAsDomain + this.Data["includingLnNodes"] = dnsInfoResp.IncludingLnNodes this.Show() } @@ -60,13 +61,14 @@ func (this *IndexAction) RunGet(params struct { func (this *IndexAction) RunPost(params struct { ClusterId int64 - DnsDomainId int64 - DnsName string - NodesAutoSync bool - ServersAutoSync bool - CnameRecords []string - Ttl int32 - CnameAsDomain bool + DnsDomainId int64 + DnsName string + NodesAutoSync bool + ServersAutoSync bool + CnameRecords []string + Ttl int32 + CnameAsDomain bool + IncludingLnNodes bool ConfirmResetDomain bool // 是否确认重置域名 @@ -107,14 +109,15 @@ func (this *IndexAction) RunPost(params struct { } _, err := this.RPC().NodeClusterRPC().UpdateNodeClusterDNS(this.AdminContext(), &pb.UpdateNodeClusterDNSRequest{ - NodeClusterId: params.ClusterId, - DnsName: params.DnsName, - DnsDomainId: params.DnsDomainId, - NodesAutoSync: params.NodesAutoSync, - ServersAutoSync: params.ServersAutoSync, - CnameRecords: params.CnameRecords, - Ttl: params.Ttl, - CnameAsDomain: params.CnameAsDomain, + NodeClusterId: params.ClusterId, + DnsName: params.DnsName, + DnsDomainId: params.DnsDomainId, + NodesAutoSync: params.NodesAutoSync, + ServersAutoSync: params.ServersAutoSync, + CnameRecords: params.CnameRecords, + Ttl: params.Ttl, + CnameAsDomain: params.CnameAsDomain, + IncludingLnNodes: params.IncludingLnNodes, }) if err != nil { this.ErrorPage(err) diff --git a/internal/web/actions/default/dns/updateClusterPopup.go b/internal/web/actions/default/dns/updateClusterPopup.go index 157a31a5..f81530dc 100644 --- a/internal/web/actions/default/dns/updateClusterPopup.go +++ b/internal/web/actions/default/dns/updateClusterPopup.go @@ -23,36 +23,38 @@ func (this *UpdateClusterPopupAction) RunGet(params struct { }) { this.Data["clusterId"] = params.ClusterId - dnsResp, err := this.RPC().NodeClusterRPC().FindEnabledNodeClusterDNS(this.AdminContext(), &pb.FindEnabledNodeClusterDNSRequest{NodeClusterId: params.ClusterId}) + dnsInfoResp, err := this.RPC().NodeClusterRPC().FindEnabledNodeClusterDNS(this.AdminContext(), &pb.FindEnabledNodeClusterDNSRequest{NodeClusterId: params.ClusterId}) if err != nil { this.ErrorPage(err) return } - this.Data["dnsName"] = dnsResp.Name - this.Data["nodesAutoSync"] = dnsResp.NodesAutoSync - this.Data["serversAutoSync"] = dnsResp.ServersAutoSync - if dnsResp.Domain != nil { - this.Data["domainId"] = dnsResp.Domain.Id - this.Data["domain"] = dnsResp.Domain.Name + this.Data["dnsName"] = dnsInfoResp.Name + this.Data["nodesAutoSync"] = dnsInfoResp.NodesAutoSync + this.Data["serversAutoSync"] = dnsInfoResp.ServersAutoSync + if dnsInfoResp.Domain != nil { + this.Data["domainId"] = dnsInfoResp.Domain.Id + this.Data["domain"] = dnsInfoResp.Domain.Name } else { this.Data["domainId"] = 0 this.Data["domain"] = "" } - if dnsResp.Provider != nil { - this.Data["providerType"] = dnsResp.Provider.Type - this.Data["providerId"] = dnsResp.Provider.Id + if dnsInfoResp.Provider != nil { + this.Data["providerType"] = dnsInfoResp.Provider.Type + this.Data["providerId"] = dnsInfoResp.Provider.Id } else { this.Data["providerType"] = "" this.Data["providerId"] = 0 } - if len(dnsResp.CnameRecords) == 0 { + if len(dnsInfoResp.CnameRecords) == 0 { this.Data["cnameRecords"] = []string{} } else { - this.Data["cnameRecords"] = dnsResp.CnameRecords + this.Data["cnameRecords"] = dnsInfoResp.CnameRecords } - this.Data["ttl"] = dnsResp.Ttl + this.Data["ttl"] = dnsInfoResp.Ttl + this.Data["cnameAsDomain"] = dnsInfoResp.CnameAsDomain + this.Data["includingLnNodes"] = dnsInfoResp.IncludingLnNodes // 所有服务商 providerTypesResp, err := this.RPC().DNSProviderRPC().FindAllDNSProviderTypes(this.AdminContext(), &pb.FindAllDNSProviderTypesRequest{}) @@ -73,13 +75,15 @@ func (this *UpdateClusterPopupAction) RunGet(params struct { } func (this *UpdateClusterPopupAction) RunPost(params struct { - ClusterId int64 - DnsName string - DomainId int64 - NodesAutoSync bool - ServersAutoSync bool - CnameRecords []string - Ttl int32 + ClusterId int64 + DnsName string + DomainId int64 + NodesAutoSync bool + ServersAutoSync bool + CnameRecords []string + Ttl int32 + CnameAsDomain bool + IncludingLnNodes bool Must *actions.Must CSRF *actionutils.CSRF @@ -108,13 +112,15 @@ func (this *UpdateClusterPopupAction) RunPost(params struct { } _, err = this.RPC().NodeClusterRPC().UpdateNodeClusterDNS(this.AdminContext(), &pb.UpdateNodeClusterDNSRequest{ - NodeClusterId: params.ClusterId, - DnsName: params.DnsName, - DnsDomainId: params.DomainId, - NodesAutoSync: params.NodesAutoSync, - ServersAutoSync: params.ServersAutoSync, - CnameRecords: params.CnameRecords, - Ttl: params.Ttl, + NodeClusterId: params.ClusterId, + DnsName: params.DnsName, + DnsDomainId: params.DomainId, + NodesAutoSync: params.NodesAutoSync, + ServersAutoSync: params.ServersAutoSync, + CnameRecords: params.CnameRecords, + Ttl: params.Ttl, + CnameAsDomain: params.CnameAsDomain, + IncludingLnNodes: params.IncludingLnNodes, }) if err != nil { this.ErrorPage(err) diff --git a/web/views/@default/clusters/cluster/node/detail.html b/web/views/@default/clusters/cluster/node/detail.html index ab05d3a3..91915749 100644 --- a/web/views/@default/clusters/cluster/node/detail.html +++ b/web/views/@default/clusters/cluster/node/detail.html @@ -47,27 +47,30 @@ DNS记录 - - - - - - - - - +
+
记录名记录类型线路记录值
+ + + + + + + + - - - - - - -
记录名记录类型线路记录值
{{record.name}}{{record.type}} - {{record.route}} - 默认 - {{record.value}}
-

通过设置A记录可以将集群上的服务请求转发到不同线路的节点上。

+ + {{record.name}} + {{record.type}} + + {{record.route}} + 默认 + + {{record.value}} + + +

通过设置A记录可以将集群上的服务请求转发到不同线路的节点上。

+ +

当前集群DNS已设置不解析Ln节点,所以当前节点不会加入DNS解析;如需加入,请修改"集群设置" -- "DNS设置" -- "更多选项" -- "包含Ln节点"。

diff --git a/web/views/@default/clusters/cluster/settings/dns/index.html b/web/views/@default/clusters/cluster/settings/dns/index.html index 17b18ce0..084f7012 100644 --- a/web/views/@default/clusters/cluster/settings/dns/index.html +++ b/web/views/@default/clusters/cluster/settings/dns/index.html @@ -52,6 +52,13 @@

选中后,表示允许使用CNAME直接访问网站服务;如果取消选中,则表示CNAME只作为DNS解析记录使用。

+ + 包含Ln节点 + + +

选中后,表示域名解析中包含L2及以上级别节点。

+ + 记录TTL diff --git a/web/views/@default/dns/updateClusterPopup.html b/web/views/@default/dns/updateClusterPopup.html index 291ff458..3a1d7331 100644 --- a/web/views/@default/dns/updateClusterPopup.html +++ b/web/views/@default/dns/updateClusterPopup.html @@ -55,6 +55,20 @@ + + 允许通过CNAME访问网站服务 + + +

选中后,表示允许使用CNAME直接访问网站服务;如果取消选中,则表示CNAME只作为DNS解析记录使用。

+ + + + 包含Ln节点 + + +

选中后,表示域名解析中包含L2及以上级别节点。

+ + 记录TTL