1 回答

TA貢獻(xiàn)1772條經(jīng)驗(yàn) 獲得超8個(gè)贊
可能存在競(jìng)爭(zhēng)條件,beego這使得同時(shí)運(yùn)行 HTTP 和 HTTPS 時(shí)斷斷續(xù)續(xù)。你可以在app.go
if BConfig.Listen.EnableHTTPS || BConfig.Listen.EnableMutualHTTPS {
go func() {
//...
app.Server.Addr = // the Addr is set to the value of HTTPS addr
// ListenAndServeTLS()
}()
}
if BConfig.Listen.EnableHTTP {
go func() {
app.Server.Addr = addr // the Addr is set to the valu of HTTP addr
// ListenAndServe()
}()
}
如您所見(jiàn),它Server.Addr設(shè)置在不同的 goroutine 上,這是一場(chǎng)數(shù)據(jù)競(jìng)爭(zhēng)。
所以我建議你只在 HTTPS 上運(yùn)行你的應(yīng)用程序,除非你想給beego自己打補(bǔ)丁。
例如在你的 app.conf 中:
EnableHTTP = false
EnableHTTPS = true
- 1 回答
- 0 關(guān)注
- 211 瀏覽
添加回答
舉報(bào)