diff --git a/internal/web/actions/default/servers/server/settings/waf/ipadmin/countries.go b/internal/web/actions/default/servers/server/settings/waf/ipadmin/countries.go
index 3454cba5..17672f29 100644
--- a/internal/web/actions/default/servers/server/settings/waf/ipadmin/countries.go
+++ b/internal/web/actions/default/servers/server/settings/waf/ipadmin/countries.go
@@ -42,6 +42,7 @@ func (this *CountriesAction) RunGet(params struct {
this.NotFound("firewallPolicy", params.FirewallPolicyId)
return
}
+
var deniedCountryIds = []int64{}
var allowedCountryIds = []int64{}
var countryHTML = ""
@@ -95,6 +96,24 @@ func (this *CountriesAction) RunGet(params struct {
}
this.Data["wafIsOn"] = webConfig.FirewallRef != nil && webConfig.FirewallRef.IsOn
+ // 获取当前服务所在集群的WAF设置
+ clusterFirewallPolicy, err := dao.SharedHTTPFirewallPolicyDAO.FindEnabledHTTPFirewallPolicyWithServerId(this.AdminContext(), params.ServerId)
+ if err != nil {
+ this.ErrorPage(err)
+ return
+ }
+ if clusterFirewallPolicy != nil {
+ this.Data["clusterFirewallPolicy"] = maps.Map{
+ "id": clusterFirewallPolicy.Id,
+ "name": clusterFirewallPolicy.Name,
+ "isOn": clusterFirewallPolicy.IsOn,
+ "mode": clusterFirewallPolicy.Mode,
+ "modeInfo": firewallconfigs.FindFirewallMode(clusterFirewallPolicy.Mode),
+ }
+ } else {
+ this.Data["clusterFirewallPolicy"] = nil
+ }
+
this.Show()
}
diff --git a/internal/web/actions/default/servers/server/settings/waf/ipadmin/provinces.go b/internal/web/actions/default/servers/server/settings/waf/ipadmin/provinces.go
index b9eb9a3a..d9f8ac5b 100644
--- a/internal/web/actions/default/servers/server/settings/waf/ipadmin/provinces.go
+++ b/internal/web/actions/default/servers/server/settings/waf/ipadmin/provinces.go
@@ -96,6 +96,24 @@ func (this *ProvincesAction) RunGet(params struct {
}
this.Data["wafIsOn"] = webConfig.FirewallRef != nil && webConfig.FirewallRef.IsOn
+ // 获取当前服务所在集群的WAF设置
+ clusterFirewallPolicy, err := dao.SharedHTTPFirewallPolicyDAO.FindEnabledHTTPFirewallPolicyWithServerId(this.AdminContext(), params.ServerId)
+ if err != nil {
+ this.ErrorPage(err)
+ return
+ }
+ if clusterFirewallPolicy != nil {
+ this.Data["clusterFirewallPolicy"] = maps.Map{
+ "id": clusterFirewallPolicy.Id,
+ "name": clusterFirewallPolicy.Name,
+ "isOn": clusterFirewallPolicy.IsOn,
+ "mode": clusterFirewallPolicy.Mode,
+ "modeInfo": firewallconfigs.FindFirewallMode(clusterFirewallPolicy.Mode),
+ }
+ } else {
+ this.Data["clusterFirewallPolicy"] = nil
+ }
+
this.Show()
}
diff --git a/web/views/@default/servers/server/settings/waf/ipadmin/countries.html b/web/views/@default/servers/server/settings/waf/ipadmin/countries.html
index dd407a6b..8ce43a29 100644
--- a/web/views/@default/servers/server/settings/waf/ipadmin/countries.html
+++ b/web/views/@default/servers/server/settings/waf/ipadmin/countries.html
@@ -9,6 +9,10 @@
{$ if .featureIsOn}