mirror of https://github.com/ehang-io/nps
55 lines
1.4 KiB
Go
55 lines
1.4 KiB
Go
package server
|
|
|
|
import (
|
|
"github.com/astaxie/beego"
|
|
"github.com/cnlh/nps/lib"
|
|
"log"
|
|
"strconv"
|
|
)
|
|
|
|
func TestServerConfig() {
|
|
var postArr []int
|
|
for _, v := range lib.GetCsvDb().Tasks {
|
|
isInArr(&postArr, v.TcpPort, v.Remark)
|
|
}
|
|
p, err := beego.AppConfig.Int("httpport")
|
|
if err != nil {
|
|
log.Fatalln("Getting web management port error :", err)
|
|
} else {
|
|
isInArr(&postArr, p, "WebmManagement port")
|
|
}
|
|
if p := beego.AppConfig.String("httpProxyPort"); p != "" {
|
|
if port, err := strconv.Atoi(p); err != nil {
|
|
log.Fatalln("get http port error:", err)
|
|
} else {
|
|
isInArr(&postArr, port, "https port")
|
|
}
|
|
}
|
|
if p := beego.AppConfig.String("httpsProxyPort"); p != "" {
|
|
if port, err := strconv.Atoi(p); err != nil {
|
|
log.Fatalln("get https port error", err)
|
|
} else {
|
|
if !lib.FileExists(beego.AppConfig.String("pemPath")) {
|
|
log.Fatalf("ssl certFile %s is not exist", beego.AppConfig.String("pemPath"))
|
|
}
|
|
if !lib.FileExists(beego.AppConfig.String("ketPath")) {
|
|
log.Fatalf("ssl keyFile %s is not exist", beego.AppConfig.String("pemPath"))
|
|
}
|
|
isInArr(&postArr, port, "http port")
|
|
}
|
|
}
|
|
}
|
|
|
|
func isInArr(arr *[]int, val int, remark string) {
|
|
for _, v := range *arr {
|
|
if v == val {
|
|
log.Fatalf("the port %d is reused,remark: %s", val, remark)
|
|
}
|
|
}
|
|
if !lib.TestTcpPort(val) {
|
|
log.Fatalf("open the %d port error ,remark: %s", val, remark)
|
|
}
|
|
*arr = append(*arr, val)
|
|
return
|
|
}
|