mirror of
https://github.com/fatedier/frp.git
synced 2026-03-25 10:01:45 +08:00
add subdomain configuration; add conn auth timeout
This commit is contained in:
@@ -166,6 +166,11 @@ func LoadConf(confFile string) (err error) {
|
||||
if ok {
|
||||
proxyClient.HttpPassWord = tmpStr
|
||||
}
|
||||
// subdomain
|
||||
tmpStr, ok = section["subdomain"]
|
||||
if ok {
|
||||
proxyClient.SubDomain = tmpStr
|
||||
}
|
||||
}
|
||||
|
||||
// privilege_mode
|
||||
@@ -219,6 +224,9 @@ func LoadConf(confFile string) (err error) {
|
||||
} else {
|
||||
return fmt.Errorf("Parse conf error: proxy [%s] custom_domains must be set when type equals http", proxyClient.Name)
|
||||
}
|
||||
|
||||
// subdomain
|
||||
proxyClient.SubDomain, ok = section["subdomain"]
|
||||
} else if proxyClient.Type == "https" {
|
||||
// custom_domains
|
||||
domainStr, ok := section["custom_domains"]
|
||||
|
||||
@@ -26,4 +26,5 @@ type BaseConf struct {
|
||||
HostHeaderRewrite string
|
||||
HttpUserName string
|
||||
HttpPassWord string
|
||||
SubDomain string
|
||||
}
|
||||
|
||||
@@ -37,6 +37,7 @@ type ControlReq struct {
|
||||
HostHeaderRewrite string `json:"host_header_rewrite"`
|
||||
HttpUserName string `json:"http_username"`
|
||||
HttpPassWord string `json:"http_password"`
|
||||
SubDomain string `json:"subdomain"`
|
||||
Timestamp int64 `json:"timestamp"`
|
||||
}
|
||||
|
||||
|
||||
@@ -45,6 +45,8 @@ var (
|
||||
LogMaxDays int64 = 3
|
||||
PrivilegeMode bool = false
|
||||
PrivilegeToken string = ""
|
||||
CtrlConnTimeout int64 = 10
|
||||
Domain string = ""
|
||||
|
||||
// if PrivilegeAllowPorts is not nil, tcp proxies which remote port exist in this map can be connected
|
||||
PrivilegeAllowPorts map[int64]struct{}
|
||||
@@ -222,6 +224,16 @@ func loadCommonConf(confFile string) error {
|
||||
MaxPoolCount = v
|
||||
}
|
||||
}
|
||||
tmpStr, ok = conf.Get("common", "conn_timeout")
|
||||
if ok {
|
||||
v, err := strconv.ParseInt(tmpStr, 10, 64)
|
||||
if err != nil {
|
||||
return fmt.Errorf("Parse conf error: conn_timeout is incorrect")
|
||||
} else {
|
||||
CtrlConnTimeout = v
|
||||
}
|
||||
}
|
||||
Domain, ok = conf.Get("common", "domain")
|
||||
return nil
|
||||
}
|
||||
|
||||
|
||||
@@ -130,6 +130,12 @@ func (p *ProxyServer) Start(c *conn.Conn) (err error) {
|
||||
}
|
||||
p.listeners = append(p.listeners, l)
|
||||
}
|
||||
l, err := VhostHttpMuxer.Listen(p.SubDomain, p.HostHeaderRewrite, p.HttpUserName, p.HttpPassWord)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
p.listeners = append(p.listeners, l)
|
||||
|
||||
} else if p.Type == "https" {
|
||||
for _, domain := range p.CustomDomains {
|
||||
l, err := VhostHttpsMuxer.Listen(domain, p.HostHeaderRewrite, p.HttpUserName, p.HttpPassWord)
|
||||
|
||||
Reference in New Issue
Block a user