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 @@
| 记录名 | -记录类型 | -线路 | -记录值 | -
|---|
| 记录名 | +记录类型 | +线路 | +记录值 | +
|---|---|---|---|
| {{record.name}} | -{{record.type}} | -- {{record.route}} - 默认 - | -{{record.value}} | -
通过设置A记录可以将集群上的服务请求转发到不同线路的节点上。
+通过设置A记录可以将集群上的服务请求转发到不同线路的节点上。
+ +当前集群DNS已设置不解析Ln节点,所以当前节点不会加入DNS解析;如需加入,请修改"集群设置" -- "DNS设置" -- "更多选项" -- "包含Ln节点"。
选中后,表示允许使用CNAME直接访问网站服务;如果取消选中,则表示CNAME只作为DNS解析记录使用。
选中后,表示域名解析中包含L2及以上级别节点。
+选中后,表示允许使用CNAME直接访问网站服务;如果取消选中,则表示CNAME只作为DNS解析记录使用。
+选中后,表示域名解析中包含L2及以上级别节点。
+