diff --git a/internal/web/actions/default/servers/certs/delete.go b/internal/web/actions/default/servers/certs/delete.go index cd6d50eb..64133b2d 100644 --- a/internal/web/actions/default/servers/certs/delete.go +++ b/internal/web/actions/default/servers/certs/delete.go @@ -1,6 +1,7 @@ package certs import ( + teaconst "github.com/TeaOSLab/EdgeAdmin/internal/const" "github.com/TeaOSLab/EdgeAdmin/internal/oplogs" "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/actionutils" "github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb" @@ -37,13 +38,27 @@ func (this *DeleteAction) RunPost(params struct { } // 是否正在被用户节点使用 - countResp, err = this.RPC().UserNodeRPC().CountAllEnabledUserNodesWithSSLCertId(this.AdminContext(), &pb.CountAllEnabledUserNodesWithSSLCertIdRequest{SslCertId: params.CertId}) - if err != nil { - this.ErrorPage(err) - return + if teaconst.IsPlus { + countResp, err = this.RPC().UserNodeRPC().CountAllEnabledUserNodesWithSSLCertId(this.AdminContext(), &pb.CountAllEnabledUserNodesWithSSLCertIdRequest{SslCertId: params.CertId}) + if err != nil { + this.ErrorPage(err) + return + } + if countResp.Count > 0 { + this.Fail("此证书正在被某些用户节点引用,请先修改相关用户节点后再删除") + } } - if countResp.Count > 0 { - this.Fail("此证书正在被某些用户节点引用,请先修改用户节点后再删除") + + // 是否正在被NS集群使用 + if teaconst.IsPlus { + countResp, err = this.RPC().NSClusterRPC().CountAllNSClustersWithSSLCertId(this.AdminContext(), &pb.CountAllNSClustersWithSSLCertIdRequest{SslCertId: params.CertId}) + if err != nil { + this.ErrorPage(err) + return + } + if countResp.Count > 0 { + this.Fail("此证书正在被某些DNS集群节点引用,请先修改相关DNS集群设置后再删除") + } } _, err = this.RPC().SSLCertRPC().DeleteSSLCert(this.AdminContext(), &pb.DeleteSSLCertRequest{SslCertId: params.CertId}) diff --git a/web/views/@default/servers/certs/certPopup.html b/web/views/@default/servers/certs/certPopup.html index 66dd220a..74d2a720 100644 --- a/web/views/@default/servers/certs/certPopup.html +++ b/web/views/@default/servers/certs/certPopup.html @@ -30,7 +30,7 @@