mirror of
https://github.com/astaxie/beego.git
synced 2024-11-22 13:00:54 +00:00
beego:support https & http listen
This commit is contained in:
parent
3f4d750dc4
commit
18a02d7d60
2
admin.go
2
admin.go
@ -88,7 +88,7 @@ func listConf(rw http.ResponseWriter, r *http.Request) {
|
|||||||
fmt.Fprintln(rw, "StaticExtensionsToGzip:", StaticExtensionsToGzip)
|
fmt.Fprintln(rw, "StaticExtensionsToGzip:", StaticExtensionsToGzip)
|
||||||
fmt.Fprintln(rw, "HttpAddr:", HttpAddr)
|
fmt.Fprintln(rw, "HttpAddr:", HttpAddr)
|
||||||
fmt.Fprintln(rw, "HttpPort:", HttpPort)
|
fmt.Fprintln(rw, "HttpPort:", HttpPort)
|
||||||
fmt.Fprintln(rw, "HttpTLS:", HttpTLS)
|
fmt.Fprintln(rw, "HttpTLS:", EnableHttpTLS)
|
||||||
fmt.Fprintln(rw, "HttpCertFile:", HttpCertFile)
|
fmt.Fprintln(rw, "HttpCertFile:", HttpCertFile)
|
||||||
fmt.Fprintln(rw, "HttpKeyFile:", HttpKeyFile)
|
fmt.Fprintln(rw, "HttpKeyFile:", HttpKeyFile)
|
||||||
fmt.Fprintln(rw, "RecoverPanic:", RecoverPanic)
|
fmt.Fprintln(rw, "RecoverPanic:", RecoverPanic)
|
||||||
|
33
app.go
33
app.go
@ -45,6 +45,7 @@ func (app *App) Run() {
|
|||||||
err error
|
err error
|
||||||
l net.Listener
|
l net.Listener
|
||||||
)
|
)
|
||||||
|
endRunning := make(chan bool)
|
||||||
|
|
||||||
if UseFcgi {
|
if UseFcgi {
|
||||||
if HttpPort == 0 {
|
if HttpPort == 0 {
|
||||||
@ -83,18 +84,34 @@ func (app *App) Run() {
|
|||||||
ReadTimeout: time.Duration(HttpServerTimeOut) * time.Second,
|
ReadTimeout: time.Duration(HttpServerTimeOut) * time.Second,
|
||||||
WriteTimeout: time.Duration(HttpServerTimeOut) * time.Second,
|
WriteTimeout: time.Duration(HttpServerTimeOut) * time.Second,
|
||||||
}
|
}
|
||||||
if HttpTLS {
|
if EnableHttpTLS {
|
||||||
err = s.ListenAndServeTLS(HttpCertFile, HttpKeyFile)
|
go func() {
|
||||||
} else {
|
if HttpsPort != 0 {
|
||||||
err = s.ListenAndServe()
|
s.Addr = fmt.Sprintf("%s:%d", HttpAddr, HttpsPort)
|
||||||
|
}
|
||||||
|
err := s.ListenAndServeTLS(HttpCertFile, HttpKeyFile)
|
||||||
|
if err != nil {
|
||||||
|
BeeLogger.Critical("ListenAndServe: ", err)
|
||||||
|
time.Sleep(100 * time.Microsecond)
|
||||||
|
endRunning <- true
|
||||||
|
}
|
||||||
|
}()
|
||||||
|
}
|
||||||
|
|
||||||
|
if EnableHttpListen {
|
||||||
|
go func() {
|
||||||
|
err := s.ListenAndServe()
|
||||||
|
if err != nil {
|
||||||
|
BeeLogger.Critical("ListenAndServe: ", err)
|
||||||
|
time.Sleep(100 * time.Microsecond)
|
||||||
|
endRunning <- true
|
||||||
|
}
|
||||||
|
}()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if err != nil {
|
<-endRunning
|
||||||
BeeLogger.Critical("ListenAndServe: ", err)
|
|
||||||
time.Sleep(100 * time.Microsecond)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Router adds a url-patterned controller handler.
|
// Router adds a url-patterned controller handler.
|
||||||
|
2
beego.go
2
beego.go
@ -270,7 +270,7 @@ func initBeforeHttpRun() {
|
|||||||
sessionConfig = `{"cookieName":"` + SessionName + `",` +
|
sessionConfig = `{"cookieName":"` + SessionName + `",` +
|
||||||
`"gclifetime":` + strconv.FormatInt(SessionGCMaxLifetime, 10) + `,` +
|
`"gclifetime":` + strconv.FormatInt(SessionGCMaxLifetime, 10) + `,` +
|
||||||
`"providerConfig":"` + SessionSavePath + `",` +
|
`"providerConfig":"` + SessionSavePath + `",` +
|
||||||
`"secure":` + strconv.FormatBool(HttpTLS) + `,` +
|
`"secure":` + strconv.FormatBool(EnableHttpTLS) + `,` +
|
||||||
`"sessionIDHashFunc":"` + SessionHashFunc + `",` +
|
`"sessionIDHashFunc":"` + SessionHashFunc + `",` +
|
||||||
`"sessionIDHashKey":"` + SessionHashKey + `",` +
|
`"sessionIDHashKey":"` + SessionHashKey + `",` +
|
||||||
`"enableSetCookie":` + strconv.FormatBool(SessionAutoSetCookie) + `,` +
|
`"enableSetCookie":` + strconv.FormatBool(SessionAutoSetCookie) + `,` +
|
||||||
|
19
config.go
19
config.go
@ -30,9 +30,11 @@ var (
|
|||||||
StaticDir map[string]string
|
StaticDir map[string]string
|
||||||
TemplateCache map[string]*template.Template // template caching map
|
TemplateCache map[string]*template.Template // template caching map
|
||||||
StaticExtensionsToGzip []string // files with should be compressed with gzip (.js,.css,etc)
|
StaticExtensionsToGzip []string // files with should be compressed with gzip (.js,.css,etc)
|
||||||
|
EnableHttpListen bool
|
||||||
HttpAddr string
|
HttpAddr string
|
||||||
HttpPort int
|
HttpPort int
|
||||||
HttpTLS bool
|
EnableHttpTLS bool
|
||||||
|
HttpsPort int
|
||||||
HttpCertFile string
|
HttpCertFile string
|
||||||
HttpKeyFile string
|
HttpKeyFile string
|
||||||
RecoverPanic bool // flag of auto recover panic
|
RecoverPanic bool // flag of auto recover panic
|
||||||
@ -98,9 +100,12 @@ func init() {
|
|||||||
TemplateCache = make(map[string]*template.Template)
|
TemplateCache = make(map[string]*template.Template)
|
||||||
|
|
||||||
// set this to 0.0.0.0 to make this app available to externally
|
// set this to 0.0.0.0 to make this app available to externally
|
||||||
|
EnableHttpListen = true //default enable http Listen
|
||||||
HttpAddr = ""
|
HttpAddr = ""
|
||||||
HttpPort = 8080
|
HttpPort = 8080
|
||||||
|
|
||||||
|
HttpsPort = 443
|
||||||
|
|
||||||
AppName = "beego"
|
AppName = "beego"
|
||||||
|
|
||||||
RunMode = "dev" //default runmod
|
RunMode = "dev" //default runmod
|
||||||
@ -176,6 +181,10 @@ func ParseConfig() (err error) {
|
|||||||
HttpPort = v
|
HttpPort = v
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if v, err := AppConfig.Bool("EnableHttpListen"); err == nil {
|
||||||
|
EnableHttpListen = v
|
||||||
|
}
|
||||||
|
|
||||||
if maxmemory, err := AppConfig.Int64("MaxMemory"); err == nil {
|
if maxmemory, err := AppConfig.Int64("MaxMemory"); err == nil {
|
||||||
MaxMemory = maxmemory
|
MaxMemory = maxmemory
|
||||||
}
|
}
|
||||||
@ -281,8 +290,12 @@ func ParseConfig() (err error) {
|
|||||||
TemplateRight = tplright
|
TemplateRight = tplright
|
||||||
}
|
}
|
||||||
|
|
||||||
if httptls, err := AppConfig.Bool("HttpTLS"); err == nil {
|
if httptls, err := AppConfig.Bool("EnableHttpTLS"); err == nil {
|
||||||
HttpTLS = httptls
|
EnableHttpTLS = httptls
|
||||||
|
}
|
||||||
|
|
||||||
|
if httpsport, err := AppConfig.Int("HttpsPort"); err == nil {
|
||||||
|
HttpsPort = httpsport
|
||||||
}
|
}
|
||||||
|
|
||||||
if certfile := AppConfig.String("HttpCertFile"); certfile != "" {
|
if certfile := AppConfig.String("HttpCertFile"); certfile != "" {
|
||||||
|
Loading…
Reference in New Issue
Block a user