From 29f1712f8df63fd784bf52430c14aa3425b9cb99 Mon Sep 17 00:00:00 2001 From: GoEdgeLab Date: Wed, 1 Dec 2021 15:59:15 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9C=8D=E5=8A=A1=E5=88=86=E6=A8=A1=E5=9D=97?= =?UTF-8?q?=E5=8A=A0=E8=BD=BD=EF=BC=8C=E9=98=B2=E6=AD=A2=E6=9F=90=E4=B8=AA?= =?UTF-8?q?=E6=A8=A1=E5=9D=97=E5=8A=A0=E8=BD=BD=E5=A4=B1=E8=B4=A5=E6=97=B6?= =?UTF-8?q?=E7=9B=B8=E4=BA=92=E5=8F=97=E5=BD=B1=E5=93=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkg/nodeconfigs/node_config.go | 8 +++++--- pkg/serverconfigs/server_config.go | 22 +++++++++++----------- 2 files changed, 16 insertions(+), 14 deletions(-) diff --git a/pkg/nodeconfigs/node_config.go b/pkg/nodeconfigs/node_config.go index 7f939d8..9f608e4 100644 --- a/pkg/nodeconfigs/node_config.go +++ b/pkg/nodeconfigs/node_config.go @@ -100,10 +100,12 @@ func (this *NodeConfig) Init() (err error, serverErrors []*ServerError) { // servers for _, server := range this.Servers { - err = server.Init() - if err != nil { + errs := server.Init() + if len(errs) > 0 { // 这里不返回错误,而是继续往下,防止单个服务错误而影响其他服务 - serverErrors = append(serverErrors, NewServerError(server.Id, "server '"+strconv.FormatInt(server.Id, 10)+"' init failed: "+err.Error())) + for _, serverErr := range errs { + serverErrors = append(serverErrors, NewServerError(server.Id, "server '"+strconv.FormatInt(server.Id, 10)+"' init failed: "+serverErr.Error())) + } } } diff --git a/pkg/serverconfigs/server_config.go b/pkg/serverconfigs/server_config.go index 925517c..e10cff0 100644 --- a/pkg/serverconfigs/server_config.go +++ b/pkg/serverconfigs/server_config.go @@ -68,7 +68,7 @@ func NewServerConfig() *ServerConfig { return &ServerConfig{} } -func (this *ServerConfig) Init() error { +func (this *ServerConfig) Init() (results []error) { // 分解Group if this.Group != nil && this.Group.IsOn { // reverse proxy @@ -166,63 +166,63 @@ func (this *ServerConfig) Init() error { if this.HTTP != nil { err := this.HTTP.Init() if err != nil { - return err + results = append(results, err) } } if this.HTTPS != nil { err := this.HTTPS.Init() if err != nil { - return err + results = append(results, err) } } if this.TCP != nil { err := this.TCP.Init() if err != nil { - return err + results = append(results, err) } } if this.TLS != nil { err := this.TLS.Init() if err != nil { - return err + results = append(results, err) } } if this.Unix != nil { err := this.Unix.Init() if err != nil { - return err + results = append(results, err) } } if this.UDP != nil { err := this.UDP.Init() if err != nil { - return err + results = append(results, err) } } if this.ReverseProxyRef != nil { err := this.ReverseProxyRef.Init() if err != nil { - return err + results = append(results, err) } } if this.ReverseProxy != nil { err := this.ReverseProxy.Init() if err != nil { - return err + results = append(results, err) } } if this.Web != nil { err := this.Web.Init() if err != nil { - return err + results = append(results, err) } } @@ -230,7 +230,7 @@ func (this *ServerConfig) Init() error { if this.UserPlan != nil { err := this.UserPlan.Init() if err != nil { - return err + results = append(results, err) } if this.UserPlan.Plan != nil {