diff --git a/EdgeUser/internal/web/actions/default/servers/create.go b/EdgeUser/internal/web/actions/default/servers/create.go index 95d44ed..57a6ab8 100644 --- a/EdgeUser/internal/web/actions/default/servers/create.go +++ b/EdgeUser/internal/web/actions/default/servers/create.go @@ -78,6 +78,14 @@ func (this *CreateAction) RunGet(params struct{}) { this.Data["ossTypes"] = ossconfigs.FindAllOSSTypes() this.Data["ossBucketParams"] = ossconfigs.FindAllOSSBucketParamDefinitions() + // 默认开启的选择 + this.Data["accessLogIsOn"] = true + this.Data["websocketIsOn"] = true + this.Data["cacheIsOn"] = true + this.Data["wafIsOn"] = true + this.Data["remoteAddrIsOn"] = true + this.Data["statIsOn"] = true + this.Show() } @@ -93,6 +101,13 @@ func (this *CreateAction) RunPost(params struct { GroupIds []int64 UserPlanId int64 + AccessLogIsOn bool + WebsocketIsOn bool + CacheIsOn bool + WafIsOn bool + RemoteAddrIsOn bool + StatIsOn bool + Must *actions.Must CSRF *actionutils.CSRF }) { @@ -556,9 +571,10 @@ func (this *CreateAction) RunPost(params struct { // ========== 默认开启的功能 ========== // 1. 访问日志 - _, err = this.RPC().HTTPWebRPC().UpdateHTTPWebAccessLog(this.UserContext(), &pb.UpdateHTTPWebAccessLogRequest{ - HttpWebId: webId, - AccessLogJSON: []byte(`{ + if params.AccessLogIsOn { + _, err = this.RPC().HTTPWebRPC().UpdateHTTPWebAccessLog(this.UserContext(), &pb.UpdateHTTPWebAccessLogRequest{ + HttpWebId: webId, + AccessLogJSON: []byte(`{ "isPrior": false, "isOn": true, "fields": [1, 2, 6, 7], @@ -571,90 +587,99 @@ func (this *CreateAction) RunPost(params struct { "storagePolicies": [], "firewallOnly": false }`), - }) - if err != nil { - this.ErrorPage(err) - return + }) + if err != nil { + this.ErrorPage(err) + return + } } // 2. WebSocket - createWebSocketResp, err := this.RPC().HTTPWebsocketRPC().CreateHTTPWebsocket(this.UserContext(), &pb.CreateHTTPWebsocketRequest{ - HandshakeTimeoutJSON: []byte(`{"count": 30, "unit": "second"}`), - AllowAllOrigins: true, - AllowedOrigins: nil, - RequestSameOrigin: true, - RequestOrigin: "", - }) - if err != nil { - this.ErrorPage(err) - return - } - _, err = this.RPC().HTTPWebRPC().UpdateHTTPWebWebsocket(this.UserContext(), &pb.UpdateHTTPWebWebsocketRequest{ - HttpWebId: webId, - WebsocketJSON: []byte(`{"isPrior": false, "isOn": true, "websocketId": ` + types.String(createWebSocketResp.WebsocketId) + `}`), - }) - if err != nil { - this.ErrorPage(err) - return + if params.WebsocketIsOn { + createWebSocketResp, err := this.RPC().HTTPWebsocketRPC().CreateHTTPWebsocket(this.UserContext(), &pb.CreateHTTPWebsocketRequest{ + HandshakeTimeoutJSON: []byte(`{"count": 30, "unit": "second"}`), + AllowAllOrigins: true, + AllowedOrigins: nil, + RequestSameOrigin: true, + RequestOrigin: "", + }) + if err != nil { + this.ErrorPage(err) + return + } + _, err = this.RPC().HTTPWebRPC().UpdateHTTPWebWebsocket(this.UserContext(), &pb.UpdateHTTPWebWebsocketRequest{ + HttpWebId: webId, + WebsocketJSON: []byte(`{"isPrior": false, "isOn": true, "websocketId": ` + types.String(createWebSocketResp.WebsocketId) + `}`), + }) + if err != nil { + this.ErrorPage(err) + return + } } // 3. WAF 防火墙 - 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.UserContext(), &pb.UpdateHTTPWebFirewallRequest{ - HttpWebId: webId, - FirewallJSON: firewallRefJSON, - }) - if err != nil { - this.ErrorPage(err) - return + 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.UserContext(), &pb.UpdateHTTPWebFirewallRequest{ + HttpWebId: webId, + FirewallJSON: firewallRefJSON, + }) + if err != nil { + this.ErrorPage(err) + return + } } // 4. 从上级代理中读取IP - var remoteAddrConfig = &serverconfigs.HTTPRemoteAddrConfig{ - IsOn: true, - Value: "${remoteAddr}", - Type: serverconfigs.HTTPRemoteAddrTypeProxy, - } - remoteAddrConfigJSON, err := json.Marshal(remoteAddrConfig) - if err != nil { - this.ErrorPage(err) - return - } - _, err = this.RPC().HTTPWebRPC().UpdateHTTPWebRemoteAddr(this.UserContext(), &pb.UpdateHTTPWebRemoteAddrRequest{ - HttpWebId: webId, - RemoteAddrJSON: remoteAddrConfigJSON, - }) - if err != nil { - this.ErrorPage(err) - return + if params.RemoteAddrIsOn { + var remoteAddrConfig = &serverconfigs.HTTPRemoteAddrConfig{ + IsOn: true, + Value: "${remoteAddr}", + Type: serverconfigs.HTTPRemoteAddrTypeProxy, + } + remoteAddrConfigJSON, err := json.Marshal(remoteAddrConfig) + if err != nil { + this.ErrorPage(err) + return + } + _, err = this.RPC().HTTPWebRPC().UpdateHTTPWebRemoteAddr(this.UserContext(), &pb.UpdateHTTPWebRemoteAddrRequest{ + HttpWebId: webId, + RemoteAddrJSON: remoteAddrConfigJSON, + }) + if err != nil { + this.ErrorPage(err) + return + } } // 5. 统计 - var statConfig = &serverconfigs.HTTPStatRef{ - IsPrior: false, - IsOn: true, - } - statJSON, err := json.Marshal(statConfig) - if err != nil { - this.ErrorPage(err) - return - } - _, err = this.RPC().HTTPWebRPC().UpdateHTTPWebStat(this.UserContext(), &pb.UpdateHTTPWebStatRequest{ - HttpWebId: webId, - StatJSON: statJSON, - }) - if err != nil { - this.ErrorPage(err) - return + if params.StatIsOn { + var statConfig = &serverconfigs.HTTPStatRef{ + IsPrior: false, + IsOn: true, + } + statJSON, err := json.Marshal(statConfig) + if err != nil { + this.ErrorPage(err) + return + } + _, err = this.RPC().HTTPWebRPC().UpdateHTTPWebStat(this.UserContext(), &pb.UpdateHTTPWebStatRequest{ + HttpWebId: webId, + StatJSON: statJSON, + }) + if err != nil { + this.ErrorPage(err) + return + } } // 绑定套餐 diff --git a/EdgeUser/web/views/@default/servers/create.html b/EdgeUser/web/views/@default/servers/create.html index 172dab1..f11e018 100644 --- a/EdgeUser/web/views/@default/servers/create.html +++ b/EdgeUser/web/views/@default/servers/create.html @@ -5,7 +5,8 @@ 需要管理员在后台设置当前用户所属集群后才能继续操作。
- + \ No newline at end of file diff --git a/EdgeUser/web/views/@default/servers/create.js b/EdgeUser/web/views/@default/servers/create.js index ce4e267..f7ad1ed 100644 --- a/EdgeUser/web/views/@default/servers/create.js +++ b/EdgeUser/web/views/@default/servers/create.js @@ -3,6 +3,13 @@ Tea.context(function () { this.requestHostType = 0 this.requestHost = "" + this.accessLogIsOn = true + this.websocketIsOn = true + this.cacheIsOn = true + this.wafIsOn = true + this.remoteAddrIsOn = true + this.statIsOn = true + this.success = function (resp) { if (resp.data.hasOSS) { NotifySuccess("保存成功", "/servers/server/settings/reverseProxy?serverId=" + resp.data.serverId)()