fatedier před 2 roky
rodič
revize
21240ed962
3 změnil soubory, kde provedl 9 přidání a 3 odebrání
  1. 7 2
      client/service.go
  2. 1 0
      cmd/frpc/sub/root.go
  3. 1 1
      pkg/util/vhost/http.go

+ 7 - 2
client/service.go

@@ -357,8 +357,13 @@ func (svr *Service) ReloadConf(pxyCfgs map[string]config.ProxyConf, visitorCfgs
 	svr.cfgMu.Unlock()
 
 	svr.ctlMu.RLock()
-	defer svr.ctlMu.RUnlock()
-	return svr.ctl.ReloadConf(pxyCfgs, visitorCfgs)
+	ctl := svr.ctl
+	svr.ctlMu.RUnlock()
+
+	if ctl != nil {
+		return svr.ctl.ReloadConf(pxyCfgs, visitorCfgs)
+	}
+	return nil
 }
 
 func (svr *Service) Close() {

+ 1 - 0
cmd/frpc/sub/root.go

@@ -115,6 +115,7 @@ var rootCmd = &cobra.Command{
 					return nil
 				}
 				wg.Add(1)
+				time.Sleep(time.Millisecond)
 				go func() {
 					defer wg.Done()
 					err := runClient(path)

+ 1 - 1
pkg/util/vhost/http.go

@@ -89,7 +89,7 @@ func NewHTTPReverseProxy(option HTTPReverseProxyOptions, vhostRouter *Routers) *
 		BufferPool: newWrapPool(),
 		ErrorLog:   log.New(newWrapLogger(), "", 0),
 		ErrorHandler: func(rw http.ResponseWriter, req *http.Request, err error) {
-			frpLog.Warn("do http proxy request error: %v", err)
+			frpLog.Warn("do http proxy request [host: %s] error: %v", req.Host, err)
 			rw.WriteHeader(http.StatusNotFound)
 			rw.Write(getNotFoundPageContent())
 		},