Merge pull request #539 from timerever/dev

add custom dashboard bind address
This commit is contained in:
fatedier 2017-11-29 10:34:36 +08:00 committed by GitHub
commit 92fff5c191
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 15 additions and 3 deletions

View File

@ -19,7 +19,10 @@ kcp_bind_port = 7000
vhost_http_port = 80 vhost_http_port = 80
vhost_https_port = 443 vhost_https_port = 443
# set dashboard_port to view dashboard of frps # set dashboard_addr and dashboard_port to view dashboard of frps
# dashboard_addr's default value is same with bind_addr
# dashboard is available only if dashboard_port is set
dashboard_addr = 0.0.0.0
dashboard_port = 7500 dashboard_port = 7500
# dashboard user and pwd for basic auth protect, if not set, both default value is admin # dashboard user and pwd for basic auth protect, if not set, both default value is admin

View File

@ -39,6 +39,7 @@ type ServerCommonConf struct {
// if VhostHttpsPort equals 0, don't listen a public port for https protocol // if VhostHttpsPort equals 0, don't listen a public port for https protocol
VhostHttpsPort int64 VhostHttpsPort int64
DashboardAddr string
// if DashboardPort equals 0, dashboard is not available // if DashboardPort equals 0, dashboard is not available
DashboardPort int64 DashboardPort int64
@ -72,6 +73,7 @@ func GetDefaultServerCommonConf() *ServerCommonConf {
ProxyBindAddr: "0.0.0.0", ProxyBindAddr: "0.0.0.0",
VhostHttpPort: 0, VhostHttpPort: 0,
VhostHttpsPort: 0, VhostHttpsPort: 0,
DashboardAddr: "0.0.0.0",
DashboardPort: 0, DashboardPort: 0,
DashboardUser: "admin", DashboardUser: "admin",
DashboardPwd: "admin", DashboardPwd: "admin",
@ -158,6 +160,13 @@ func LoadServerCommonConf(conf ini.File) (cfg *ServerCommonConf, err error) {
cfg.VhostHttpsPort = 0 cfg.VhostHttpsPort = 0
} }
tmpStr, ok = conf.Get("common", "dashboard_addr")
if ok {
cfg.DashboardAddr = tmpStr
} else {
cfg.DashboardAddr = cfg.BindAddr
}
tmpStr, ok = conf.Get("common", "dashboard_port") tmpStr, ok = conf.Get("common", "dashboard_port")
if ok { if ok {
cfg.DashboardPort, err = strconv.ParseInt(tmpStr, 10, 64) cfg.DashboardPort, err = strconv.ParseInt(tmpStr, 10, 64)

View File

@ -143,12 +143,12 @@ func NewService() (svr *Service, err error) {
// Create dashboard web server. // Create dashboard web server.
if cfg.DashboardPort > 0 { if cfg.DashboardPort > 0 {
err = RunDashboardServer(cfg.BindAddr, cfg.DashboardPort) err = RunDashboardServer(cfg.DashboardAddr, cfg.DashboardPort)
if err != nil { if err != nil {
err = fmt.Errorf("Create dashboard web server error, %v", err) err = fmt.Errorf("Create dashboard web server error, %v", err)
return return
} }
log.Info("Dashboard listen on %s:%d", cfg.BindAddr, cfg.DashboardPort) log.Info("Dashboard listen on %s:%d", cfg.DashboardAddr, cfg.DashboardPort)
} }
return return
} }