修复服务WAF配置无法更新的Bug

This commit is contained in:
刘祥超
2022-11-28 18:13:08 +08:00
parent 2b18b5c2ca
commit b2a1bef08f

View File

@@ -987,11 +987,7 @@ func (this *Node) onReload(config *nodeconfigs.NodeConfig, reloadAll bool) {
nodeconfigs.ResetNodeConfig(config) nodeconfigs.ResetNodeConfig(config)
sharedNodeConfig = config sharedNodeConfig = config
// 不需要每次都全部重新加载 if reloadAll {
if !reloadAll {
return
}
// 缓存策略 // 缓存策略
var subDirs = config.CacheDiskSubDirs var subDirs = config.CacheDiskSubDirs
for _, subDir := range subDirs { for _, subDir := range subDirs {
@@ -1029,8 +1025,10 @@ func (this *Node) onReload(config *nodeconfigs.NodeConfig, reloadAll bool) {
caches.SharedManager.UpdatePolicies([]*serverconfigs.HTTPCachePolicy{}) caches.SharedManager.UpdatePolicies([]*serverconfigs.HTTPCachePolicy{})
} }
} }
}
// WAF策略 // WAF策略
// 包含了服务里的WAF策略所以需要整体更新
var allFirewallPolicies = config.FindAllFirewallPolicies() var allFirewallPolicies = config.FindAllFirewallPolicies()
if !jsonutils.Equal(allFirewallPolicies, this.oldHTTPFirewallPolicies) { if !jsonutils.Equal(allFirewallPolicies, this.oldHTTPFirewallPolicies) {
// copy // copy
@@ -1044,6 +1042,7 @@ func (this *Node) onReload(config *nodeconfigs.NodeConfig, reloadAll bool) {
waf.SharedWAFManager.UpdatePolicies(allFirewallPolicies) waf.SharedWAFManager.UpdatePolicies(allFirewallPolicies)
} }
if reloadAll {
if !jsonutils.Equal(config.FirewallActions, this.oldFirewallActions) { if !jsonutils.Equal(config.FirewallActions, this.oldFirewallActions) {
// copy // copy
this.oldFirewallActions = []*firewallconfigs.FirewallActionConfig{} this.oldFirewallActions = []*firewallconfigs.FirewallActionConfig{}
@@ -1144,6 +1143,7 @@ func (this *Node) onReload(config *nodeconfigs.NodeConfig, reloadAll bool) {
// API Node地址这里不限制是否为空因为在为空时仍然要有对应的处理 // API Node地址这里不限制是否为空因为在为空时仍然要有对应的处理
this.changeAPINodeAddrs(config.APINodeAddrs) this.changeAPINodeAddrs(config.APINodeAddrs)
} }
}
// reload server config // reload server config
func (this *Node) reloadServer() { func (this *Node) reloadServer() {