mirror of
https://github.com/fatedier/frp.git
synced 2024-12-12 09:41:19 +01:00
DetailedErrorsToClient - only send detailed error info if this is on
This commit is contained in:
parent
c8748a2948
commit
f8c6795119
@ -98,6 +98,9 @@ type ServerCommonConf struct {
|
|||||||
// DisableLogColor disables log colors when LogWay == "console" when set to
|
// DisableLogColor disables log colors when LogWay == "console" when set to
|
||||||
// true. By default, this value is false.
|
// true. By default, this value is false.
|
||||||
DisableLogColor bool `json:"disable_log_color"`
|
DisableLogColor bool `json:"disable_log_color"`
|
||||||
|
// DetailedErrorsToClient defines whether to send the specific error (with
|
||||||
|
// debug info) to frpc. By default, this value is true.
|
||||||
|
DetailedErrorsToClient bool `json:"detailed_errors_to_client"`
|
||||||
// Token specifies the authorization token used to authenticate keys
|
// Token specifies the authorization token used to authenticate keys
|
||||||
// received from clients. Clients must have a matching token to be
|
// received from clients. Clients must have a matching token to be
|
||||||
// authorized to use the server. By default, this value is "".
|
// authorized to use the server. By default, this value is "".
|
||||||
@ -143,34 +146,35 @@ type ServerCommonConf struct {
|
|||||||
// defaults.
|
// defaults.
|
||||||
func GetDefaultServerConf() ServerCommonConf {
|
func GetDefaultServerConf() ServerCommonConf {
|
||||||
return ServerCommonConf{
|
return ServerCommonConf{
|
||||||
BindAddr: "0.0.0.0",
|
BindAddr: "0.0.0.0",
|
||||||
BindPort: 7000,
|
BindPort: 7000,
|
||||||
BindUdpPort: 0,
|
BindUdpPort: 0,
|
||||||
KcpBindPort: 0,
|
KcpBindPort: 0,
|
||||||
ProxyBindAddr: "0.0.0.0",
|
ProxyBindAddr: "0.0.0.0",
|
||||||
VhostHttpPort: 0,
|
VhostHttpPort: 0,
|
||||||
VhostHttpsPort: 0,
|
VhostHttpsPort: 0,
|
||||||
VhostHttpTimeout: 60,
|
VhostHttpTimeout: 60,
|
||||||
DashboardAddr: "0.0.0.0",
|
DashboardAddr: "0.0.0.0",
|
||||||
DashboardPort: 0,
|
DashboardPort: 0,
|
||||||
DashboardUser: "admin",
|
DashboardUser: "admin",
|
||||||
DashboardPwd: "admin",
|
DashboardPwd: "admin",
|
||||||
AssetsDir: "",
|
AssetsDir: "",
|
||||||
LogFile: "console",
|
LogFile: "console",
|
||||||
LogWay: "console",
|
LogWay: "console",
|
||||||
LogLevel: "info",
|
LogLevel: "info",
|
||||||
LogMaxDays: 3,
|
LogMaxDays: 3,
|
||||||
DisableLogColor: false,
|
DisableLogColor: false,
|
||||||
Token: "",
|
DetailedErrorsToClient: true,
|
||||||
SubDomainHost: "",
|
Token: "",
|
||||||
TcpMux: true,
|
SubDomainHost: "",
|
||||||
AllowPorts: make(map[int]struct{}),
|
TcpMux: true,
|
||||||
MaxPoolCount: 5,
|
AllowPorts: make(map[int]struct{}),
|
||||||
MaxPortsPerClient: 0,
|
MaxPoolCount: 5,
|
||||||
HeartBeatTimeout: 90,
|
MaxPortsPerClient: 0,
|
||||||
UserConnTimeout: 10,
|
HeartBeatTimeout: 90,
|
||||||
Custom404Page: "",
|
UserConnTimeout: 10,
|
||||||
HTTPPlugins: make(map[string]plugin.HTTPPluginOptions),
|
Custom404Page: "",
|
||||||
|
HTTPPlugins: make(map[string]plugin.HTTPPluginOptions),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -314,6 +318,12 @@ func UnmarshalServerConfFromIni(content string) (cfg ServerCommonConf, err error
|
|||||||
cfg.DisableLogColor = true
|
cfg.DisableLogColor = true
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if tmpStr, ok = conf.Get("common", "detailed_errors_to_client"); ok && tmpStr == "false" {
|
||||||
|
cfg.DetailedErrorsToClient = false
|
||||||
|
} else {
|
||||||
|
cfg.DetailedErrorsToClient = true
|
||||||
|
}
|
||||||
|
|
||||||
cfg.Token, _ = conf.Get("common", "token")
|
cfg.Token, _ = conf.Get("common", "token")
|
||||||
|
|
||||||
if allowPortsStr, ok := conf.Get("common", "allow_ports"); ok {
|
if allowPortsStr, ok := conf.Get("common", "allow_ports"); ok {
|
||||||
|
@ -438,7 +438,11 @@ func (ctl *Control) manager() {
|
|||||||
ProxyName: m.ProxyName,
|
ProxyName: m.ProxyName,
|
||||||
}
|
}
|
||||||
if err != nil {
|
if err != nil {
|
||||||
resp.Error = err.Error()
|
if ctl.serverCfg.DetailedErrorsToClient {
|
||||||
|
resp.Error = err.Error()
|
||||||
|
} else {
|
||||||
|
resp.Error = fmt.Sprintf("new proxy [%s] error", m.ProxyName)
|
||||||
|
}
|
||||||
xl.Warn("new proxy [%s] error: %v", m.ProxyName, err)
|
xl.Warn("new proxy [%s] error: %v", m.ProxyName, err)
|
||||||
} else {
|
} else {
|
||||||
resp.RemoteAddr = remoteAddr
|
resp.RemoteAddr = remoteAddr
|
||||||
|
@ -320,9 +320,13 @@ func (svr *Service) HandleListener(l net.Listener) {
|
|||||||
// Otherwise send success message in control's work goroutine.
|
// Otherwise send success message in control's work goroutine.
|
||||||
if err != nil {
|
if err != nil {
|
||||||
xl.Warn("register control error: %v", err)
|
xl.Warn("register control error: %v", err)
|
||||||
|
errStr := "register control error"
|
||||||
|
if svr.cfg.DetailedErrorsToClient {
|
||||||
|
errStr = err.Error()
|
||||||
|
}
|
||||||
msg.WriteMsg(conn, &msg.LoginResp{
|
msg.WriteMsg(conn, &msg.LoginResp{
|
||||||
Version: version.Full(),
|
Version: version.Full(),
|
||||||
Error: err.Error(),
|
Error: errStr,
|
||||||
})
|
})
|
||||||
conn.Close()
|
conn.Close()
|
||||||
}
|
}
|
||||||
@ -331,9 +335,13 @@ func (svr *Service) HandleListener(l net.Listener) {
|
|||||||
case *msg.NewVisitorConn:
|
case *msg.NewVisitorConn:
|
||||||
if err = svr.RegisterVisitorConn(conn, m); err != nil {
|
if err = svr.RegisterVisitorConn(conn, m); err != nil {
|
||||||
xl.Warn("register visitor conn error: %v", err)
|
xl.Warn("register visitor conn error: %v", err)
|
||||||
|
errStr := "register visitor conn error"
|
||||||
|
if svr.cfg.DetailedErrorsToClient {
|
||||||
|
errStr = err.Error()
|
||||||
|
}
|
||||||
msg.WriteMsg(conn, &msg.NewVisitorConnResp{
|
msg.WriteMsg(conn, &msg.NewVisitorConnResp{
|
||||||
ProxyName: m.ProxyName,
|
ProxyName: m.ProxyName,
|
||||||
Error: err.Error(),
|
Error: errStr,
|
||||||
})
|
})
|
||||||
conn.Close()
|
conn.Close()
|
||||||
} else {
|
} else {
|
||||||
|
Loading…
Reference in New Issue
Block a user