mirror of
https://github.com/TeaOSLab/EdgeAdmin.git
synced 2025-11-04 05:00:25 +08:00
修复创建网站时不启用访问日志导致Websocket、统计等选项失效的问题
This commit is contained in:
@@ -11,7 +11,6 @@ import (
|
|||||||
"github.com/TeaOSLab/EdgeAdmin/internal/nodes"
|
"github.com/TeaOSLab/EdgeAdmin/internal/nodes"
|
||||||
"github.com/TeaOSLab/EdgeAdmin/internal/utils"
|
"github.com/TeaOSLab/EdgeAdmin/internal/utils"
|
||||||
_ "github.com/TeaOSLab/EdgeAdmin/internal/web"
|
_ "github.com/TeaOSLab/EdgeAdmin/internal/web"
|
||||||
"github.com/TeaOSLab/EdgeAdmin/internal/web/actions/default/clusters/cluster/node/nodeutils"
|
|
||||||
_ "github.com/TeaOSLab/EdgeCommon/pkg/langs/messages"
|
_ "github.com/TeaOSLab/EdgeCommon/pkg/langs/messages"
|
||||||
"github.com/iwind/TeaGo/Tea"
|
"github.com/iwind/TeaGo/Tea"
|
||||||
_ "github.com/iwind/TeaGo/bootstrap"
|
_ "github.com/iwind/TeaGo/bootstrap"
|
||||||
@@ -180,14 +179,6 @@ func main() {
|
|||||||
log.Println("restarting ...")
|
log.Println("restarting ...")
|
||||||
app.RunRestart()
|
app.RunRestart()
|
||||||
})
|
})
|
||||||
app.On("install-local-node", func() {
|
|
||||||
err := nodeutils.InstallLocalNode()
|
|
||||||
if err != nil {
|
|
||||||
fmt.Println("[ERROR]" + err.Error())
|
|
||||||
return
|
|
||||||
}
|
|
||||||
fmt.Println("success")
|
|
||||||
})
|
|
||||||
app.Run(func() {
|
app.Run(func() {
|
||||||
var adminNode = nodes.NewAdminNode()
|
var adminNode = nodes.NewAdminNode()
|
||||||
adminNode.Run()
|
adminNode.Run()
|
||||||
|
|||||||
@@ -11,7 +11,6 @@ import (
|
|||||||
"github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs/firewallconfigs"
|
"github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs/firewallconfigs"
|
||||||
"github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs/sslconfigs"
|
"github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs/sslconfigs"
|
||||||
"github.com/iwind/TeaGo/actions"
|
"github.com/iwind/TeaGo/actions"
|
||||||
"github.com/iwind/TeaGo/logs"
|
|
||||||
"github.com/iwind/TeaGo/maps"
|
"github.com/iwind/TeaGo/maps"
|
||||||
"github.com/iwind/TeaGo/types"
|
"github.com/iwind/TeaGo/types"
|
||||||
"strings"
|
"strings"
|
||||||
@@ -454,15 +453,16 @@ func (this *CreateAction) RunPost(params struct {
|
|||||||
|
|
||||||
// 开启访问日志和Websocket
|
// 开启访问日志和Websocket
|
||||||
if params.ServerType == serverconfigs.ServerTypeHTTPProxy {
|
if params.ServerType == serverconfigs.ServerTypeHTTPProxy {
|
||||||
webConfig, err := dao.SharedHTTPWebDAO.FindWebConfigWithServerId(this.AdminContext(), serverId)
|
webConfig, findErr := dao.SharedHTTPWebDAO.FindWebConfigWithServerId(this.AdminContext(), serverId)
|
||||||
if err != nil {
|
if findErr != nil {
|
||||||
logs.Error(err)
|
this.ErrorPage(findErr)
|
||||||
} else {
|
return
|
||||||
// 访问日志
|
}
|
||||||
if params.AccessLogIsOn {
|
// 访问日志
|
||||||
_, err = this.RPC().HTTPWebRPC().UpdateHTTPWebAccessLog(this.AdminContext(), &pb.UpdateHTTPWebAccessLogRequest{
|
if params.AccessLogIsOn {
|
||||||
HttpWebId: webConfig.Id,
|
_, err = this.RPC().HTTPWebRPC().UpdateHTTPWebAccessLog(this.AdminContext(), &pb.UpdateHTTPWebAccessLogRequest{
|
||||||
AccessLogJSON: []byte(`{
|
HttpWebId: webConfig.Id,
|
||||||
|
AccessLogJSON: []byte(`{
|
||||||
"isPrior": false,
|
"isPrior": false,
|
||||||
"isOn": true,
|
"isOn": true,
|
||||||
"fields": [1, 2, 6, 7],
|
"fields": [1, 2, 6, 7],
|
||||||
@@ -477,90 +477,94 @@ func (this *CreateAction) RunPost(params struct {
|
|||||||
|
|
||||||
"firewallOnly": false
|
"firewallOnly": false
|
||||||
}`),
|
}`),
|
||||||
})
|
})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logs.Error(err)
|
this.ErrorPage(err)
|
||||||
}
|
return
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// websocket
|
// websocket
|
||||||
if params.WebsocketIsOn {
|
if params.WebsocketIsOn {
|
||||||
createWebSocketResp, err := this.RPC().HTTPWebsocketRPC().CreateHTTPWebsocket(this.AdminContext(), &pb.CreateHTTPWebsocketRequest{
|
createWebSocketResp, err := this.RPC().HTTPWebsocketRPC().CreateHTTPWebsocket(this.AdminContext(), &pb.CreateHTTPWebsocketRequest{
|
||||||
HandshakeTimeoutJSON: []byte(`{
|
HandshakeTimeoutJSON: []byte(`{
|
||||||
"count": 30,
|
"count": 30,
|
||||||
"unit": "second"
|
"unit": "second"
|
||||||
}`),
|
}`),
|
||||||
AllowAllOrigins: true,
|
AllowAllOrigins: true,
|
||||||
AllowedOrigins: nil,
|
AllowedOrigins: nil,
|
||||||
RequestSameOrigin: true,
|
RequestSameOrigin: true,
|
||||||
RequestOrigin: "",
|
RequestOrigin: "",
|
||||||
})
|
})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logs.Error(err)
|
this.ErrorPage(err)
|
||||||
} else {
|
return
|
||||||
websocketId := createWebSocketResp.WebsocketId
|
}
|
||||||
_, err = this.RPC().HTTPWebRPC().UpdateHTTPWebWebsocket(this.AdminContext(), &pb.UpdateHTTPWebWebsocketRequest{
|
|
||||||
HttpWebId: webConfig.Id,
|
websocketId := createWebSocketResp.WebsocketId
|
||||||
WebsocketJSON: []byte(` {
|
_, err = this.RPC().HTTPWebRPC().UpdateHTTPWebWebsocket(this.AdminContext(), &pb.UpdateHTTPWebWebsocketRequest{
|
||||||
|
HttpWebId: webConfig.Id,
|
||||||
|
WebsocketJSON: []byte(`{
|
||||||
"isPrior": false,
|
"isPrior": false,
|
||||||
"isOn": true,
|
"isOn": true,
|
||||||
"websocketId": ` + types.String(websocketId) + `
|
"websocketId": ` + types.String(websocketId) + `
|
||||||
}`),
|
}`),
|
||||||
})
|
})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logs.Error(err)
|
this.ErrorPage(err)
|
||||||
}
|
return
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// cache
|
// cache
|
||||||
if params.CacheIsOn {
|
if params.CacheIsOn {
|
||||||
var cacheConfig = &serverconfigs.HTTPCacheConfig{
|
var cacheConfig = &serverconfigs.HTTPCacheConfig{
|
||||||
IsPrior: false,
|
IsPrior: false,
|
||||||
IsOn: true,
|
IsOn: true,
|
||||||
AddStatusHeader: true,
|
AddStatusHeader: true,
|
||||||
PurgeIsOn: false,
|
PurgeIsOn: false,
|
||||||
PurgeKey: "",
|
PurgeKey: "",
|
||||||
CacheRefs: []*serverconfigs.HTTPCacheRef{},
|
CacheRefs: []*serverconfigs.HTTPCacheRef{},
|
||||||
}
|
|
||||||
cacheConfigJSON, err := json.Marshal(cacheConfig)
|
|
||||||
if err != nil {
|
|
||||||
this.ErrorPage(err)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
_, err = this.RPC().HTTPWebRPC().UpdateHTTPWebCache(this.AdminContext(), &pb.UpdateHTTPWebCacheRequest{
|
|
||||||
HttpWebId: webConfig.Id,
|
|
||||||
CacheJSON: cacheConfigJSON,
|
|
||||||
})
|
|
||||||
if err != nil {
|
|
||||||
this.ErrorPage(err)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
cacheConfigJSON, err := json.Marshal(cacheConfig)
|
||||||
// waf
|
if err != nil {
|
||||||
if params.WafIsOn {
|
this.ErrorPage(err)
|
||||||
var firewallRef = &firewallconfigs.HTTPFirewallRef{
|
return
|
||||||
IsPrior: false,
|
|
||||||
IsOn: true,
|
|
||||||
FirewallPolicyId: 0,
|
|
||||||
}
|
|
||||||
firewallRefJSON, err := json.Marshal(firewallRef)
|
|
||||||
if err != nil {
|
|
||||||
this.ErrorPage(err)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
_, err = this.RPC().HTTPWebRPC().UpdateHTTPWebFirewall(this.AdminContext(), &pb.UpdateHTTPWebFirewallRequest{
|
|
||||||
HttpWebId: webConfig.Id,
|
|
||||||
FirewallJSON: firewallRefJSON,
|
|
||||||
})
|
|
||||||
if err != nil {
|
|
||||||
this.ErrorPage(err)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
_, err = this.RPC().HTTPWebRPC().UpdateHTTPWebCache(this.AdminContext(), &pb.UpdateHTTPWebCacheRequest{
|
||||||
|
HttpWebId: webConfig.Id,
|
||||||
|
CacheJSON: cacheConfigJSON,
|
||||||
|
})
|
||||||
|
if err != nil {
|
||||||
|
this.ErrorPage(err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// remoteAddr
|
// waf
|
||||||
|
if params.WafIsOn {
|
||||||
|
var firewallRef = &firewallconfigs.HTTPFirewallRef{
|
||||||
|
IsPrior: false,
|
||||||
|
IsOn: true,
|
||||||
|
FirewallPolicyId: 0,
|
||||||
|
}
|
||||||
|
firewallRefJSON, err := json.Marshal(firewallRef)
|
||||||
|
if err != nil {
|
||||||
|
this.ErrorPage(err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
_, err = this.RPC().HTTPWebRPC().UpdateHTTPWebFirewall(this.AdminContext(), &pb.UpdateHTTPWebFirewallRequest{
|
||||||
|
HttpWebId: webConfig.Id,
|
||||||
|
FirewallJSON: firewallRefJSON,
|
||||||
|
})
|
||||||
|
if err != nil {
|
||||||
|
this.ErrorPage(err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// remoteAddr
|
||||||
|
{
|
||||||
var remoteAddrConfig = &serverconfigs.HTTPRemoteAddrConfig{
|
var remoteAddrConfig = &serverconfigs.HTTPRemoteAddrConfig{
|
||||||
IsOn: true,
|
IsOn: true,
|
||||||
Value: "${rawRemoteAddr}",
|
Value: "${rawRemoteAddr}",
|
||||||
@@ -583,26 +587,26 @@ func (this *CreateAction) RunPost(params struct {
|
|||||||
this.ErrorPage(err)
|
this.ErrorPage(err)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// 统计
|
// 统计
|
||||||
if params.StatIsOn {
|
if params.StatIsOn {
|
||||||
var statConfig = &serverconfigs.HTTPStatRef{
|
var statConfig = &serverconfigs.HTTPStatRef{
|
||||||
IsPrior: false,
|
IsPrior: false,
|
||||||
IsOn: true,
|
IsOn: true,
|
||||||
}
|
}
|
||||||
statJSON, err := json.Marshal(statConfig)
|
statJSON, err := json.Marshal(statConfig)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
this.ErrorPage(err)
|
this.ErrorPage(err)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
_, err = this.RPC().HTTPWebRPC().UpdateHTTPWebStat(this.AdminContext(), &pb.UpdateHTTPWebStatRequest{
|
_, err = this.RPC().HTTPWebRPC().UpdateHTTPWebStat(this.AdminContext(), &pb.UpdateHTTPWebStatRequest{
|
||||||
HttpWebId: webConfig.Id,
|
HttpWebId: webConfig.Id,
|
||||||
StatJSON: statJSON,
|
StatJSON: statJSON,
|
||||||
})
|
})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
this.ErrorPage(err)
|
this.ErrorPage(err)
|
||||||
return
|
return
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user