diff --git a/internal/const/const.go b/internal/const/const.go index 3ad5cd9d..64153265 100644 --- a/internal/const/const.go +++ b/internal/const/const.go @@ -1,7 +1,7 @@ package teaconst const ( - Version = "0.0.1" + Version = "0.0.2" ProductName = "Edge Admin" ProcessName = "edge-admin" diff --git a/internal/web/actions/default/servers/components/waf/createRulePopup.go b/internal/web/actions/default/servers/components/waf/createRulePopup.go index 1042c66f..247ec671 100644 --- a/internal/web/actions/default/servers/components/waf/createRulePopup.go +++ b/internal/web/actions/default/servers/components/waf/createRulePopup.go @@ -22,15 +22,16 @@ func (this *CreateRulePopupAction) RunGet(params struct { }) { // check points checkpointList := []maps.Map{} - for _, def := range firewallconfigs.AllCheckpoints { - if (params.Type == "inbound" && def.IsRequest) || (params.Type == "outbound" && !def.IsRequest) { + for _, checkpoint := range firewallconfigs.AllCheckpoints { + if (params.Type == "inbound" && checkpoint.IsRequest) || (params.Type == "outbound" && !checkpoint.IsRequest) { checkpointList = append(checkpointList, maps.Map{ - "name": def.Name, - "prefix": def.Prefix, - "description": def.Description, - "hasParams": len(def.Params) > 0, - "params": def.Params, - "options": def.Options, + "name": checkpoint.Name, + "prefix": checkpoint.Prefix, + "description": checkpoint.Description, + "hasParams": len(checkpoint.Params) > 0, + "params": checkpoint.Params, + "options": checkpoint.Options, + "isComposed": checkpoint.IsComposed, }) } } @@ -89,7 +90,7 @@ func (this *CreateRulePopupAction) RunPost(params struct { rule.CheckpointOptions = map[string]interface{}{} for _, option := range options { - rule.CheckpointOptions[option.GetString("code")] = option.GetString("value") + rule.CheckpointOptions[option.GetString("code")] = option.Get("value") } } diff --git a/internal/web/actions/default/servers/components/waf/group.go b/internal/web/actions/default/servers/components/waf/group.go index 6b7fe9b8..a5189cfa 100644 --- a/internal/web/actions/default/servers/components/waf/group.go +++ b/internal/web/actions/default/servers/components/waf/group.go @@ -86,15 +86,15 @@ func (this *GroupAction) RunGet(params struct { "name": set.Name, "rules": lists.Map(set.Rules, func(k int, v interface{}) interface{} { rule := v.(*firewallconfigs.HTTPFirewallRule) - return maps.Map{ "param": rule.Param, "operator": rule.Operator, "value": rule.Value, "isCaseInsensitive": rule.IsCaseInsensitive, + "isComposed": firewallconfigs.CheckCheckpointIsComposed(rule.Prefix()), } }), - "isOn": set.IsOn, + "isOn": set.IsOn, "action": strings.ToUpper(set.Action), "actionOptions": set.ActionOptions, "actionName": firewallconfigs.FindActionName(set.Action), diff --git a/internal/web/actions/default/servers/components/waf/policy.go b/internal/web/actions/default/servers/components/waf/policy.go index 3845c8b3..32dc8adb 100644 --- a/internal/web/actions/default/servers/components/waf/policy.go +++ b/internal/web/actions/default/servers/components/waf/policy.go @@ -3,6 +3,7 @@ package waf import ( "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/actionutils" "github.com/TeaOSLab/EdgeAdmin/internal/web/models" + "github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb" "github.com/iwind/TeaGo/maps" ) @@ -53,5 +54,20 @@ func (this *PolicyAction) RunGet(params struct { "groups": internalGroups, } + // 正在使用此策略的服务 + listServersResp, err := this.RPC().ServerRPC().FindAllEnabledServersWithHTTPFirewallPolicyId(this.AdminContext(), &pb.FindAllEnabledServersWithHTTPFirewallPolicyIdRequest{FirewallPolicyId: params.FirewallPolicyId}) + if err != nil { + this.ErrorPage(err) + return + } + serverMaps := []maps.Map{} + for _, server := range listServersResp.Servers { + serverMaps = append(serverMaps, maps.Map{ + "id": server.Id, + "name": server.Name, + }) + } + this.Data["servers"] = serverMaps + this.Show() } diff --git a/web/public/js/components/server/http-firewall-rules-box.js b/web/public/js/components/server/http-firewall-rules-box.js index 9ed7a7db..b520b7e8 100644 --- a/web/public/js/components/server/http-firewall-rules-box.js +++ b/web/public/js/components/server/http-firewall-rules-box.js @@ -39,7 +39,7 @@ Vue.component("http-firewall-rules-box", {
| 通用Header列表 | +
+ 需要检查的Header列表。 + |
+
| Header值超出长度 | +
+
+
+ 字节
+
+ 超出此长度认为匹配成功,0表示不限制。 + |
+
${{{checkpoint.prefix}}}{{checkpoint.description}}
{{option.comment}}
-开启后忽略英文字母大小写
-{{option.comment}}
+开启后忽略英文字母大小写
+暂时还没有代理服务使用此策略。
+| {{server.name}} |
+