diff --git a/internal/web/actions/default/servers/server/settings/charset/index.go b/internal/web/actions/default/servers/server/settings/charset/index.go index f77d41a9..979925f5 100644 --- a/internal/web/actions/default/servers/server/settings/charset/index.go +++ b/internal/web/actions/default/servers/server/settings/charset/index.go @@ -27,7 +27,7 @@ func (this *IndexAction) RunGet(params struct { } this.Data["webId"] = webConfig.Id - this.Data["charset"] = webConfig.Charset + this.Data["charsetConfig"] = webConfig.Charset this.Data["usualCharsets"] = configutils.UsualCharsets this.Data["allCharsets"] = configutils.AllCharsets @@ -36,14 +36,14 @@ func (this *IndexAction) RunGet(params struct { } func (this *IndexAction) RunPost(params struct { - WebId int64 - Charset string + WebId int64 + CharsetJSON []byte Must *actions.Must }) { _, err := this.RPC().HTTPWebRPC().UpdateHTTPWebCharset(this.AdminContext(), &pb.UpdateHTTPWebCharsetRequest{ - WebId: params.WebId, - Charset: params.Charset, + WebId: params.WebId, + CharsetJSON: params.CharsetJSON, }) if err != nil { this.ErrorPage(err) diff --git a/internal/web/actions/default/servers/server/settings/gzip/index.go b/internal/web/actions/default/servers/server/settings/gzip/index.go index a8714a80..9576f7a6 100644 --- a/internal/web/actions/default/servers/server/settings/gzip/index.go +++ b/internal/web/actions/default/servers/server/settings/gzip/index.go @@ -27,7 +27,7 @@ func (this *IndexAction) RunGet(params struct { this.ErrorPage(err) return } - + this.Data["webId"] = webConfig.Id gzipId := int64(0) @@ -53,6 +53,15 @@ func (this *IndexAction) RunGet(params struct { this.Data["gzipConfig"] = gzipConfig + if webConfig.GzipRef == nil { + webConfig.GzipRef = &serverconfigs.HTTPGzipRef{ + IsPrior: false, + IsOn: false, + GzipId: 0, + } + } + this.Data["gzipRef"] = webConfig.GzipRef + this.Show() } diff --git a/internal/web/actions/default/servers/server/settings/headers/index.go b/internal/web/actions/default/servers/server/settings/headers/index.go index a3ae8c80..04a6cb89 100644 --- a/internal/web/actions/default/servers/server/settings/headers/index.go +++ b/internal/web/actions/default/servers/server/settings/headers/index.go @@ -1,10 +1,11 @@ package headers import ( - "errors" + "encoding/json" "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/actionutils" "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/default/servers/server/settings/webutils" "github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb" + "github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs/shared" ) type IndexAction struct { @@ -24,42 +25,52 @@ func (this *IndexAction) RunGet(params struct { this.ErrorPage(err) return } + webId := webConfig.Id - // 初始化Header - webResp, err := this.RPC().HTTPWebRPC().FindEnabledHTTPWeb(this.AdminContext(), &pb.FindEnabledHTTPWebRequest{WebId: webConfig.Id}) - if err != nil { - this.ErrorPage(err) - return - } - web := webResp.Web - if web == nil { - this.ErrorPage(errors.New("web should not be nil")) - return - } isChanged := false - if web.RequestHeaderPolicyId <= 0 { + if webConfig.RequestHeaderPolicy == nil { createHeaderPolicyResp, err := this.RPC().HTTPHeaderPolicyRPC().CreateHTTPHeaderPolicy(this.AdminContext(), &pb.CreateHTTPHeaderPolicyRequest{}) if err != nil { this.ErrorPage(err) return } headerPolicyId := createHeaderPolicyResp.HeaderPolicyId - _, err = this.RPC().HTTPWebRPC().UpdateHTTPWebRequestHeaderPolicy(this.AdminContext(), &pb.UpdateHTTPWebRequestHeaderPolicyRequest{ - WebId: web.Id, + ref := &shared.HTTPHeaderPolicyRef{ + IsPrior: false, + IsOn: true, HeaderPolicyId: headerPolicyId, + } + refJSON, err := json.Marshal(ref) + if err != nil { + this.ErrorPage(err) + return + } + _, err = this.RPC().HTTPWebRPC().UpdateHTTPWebRequestHeader(this.AdminContext(), &pb.UpdateHTTPWebRequestHeaderRequest{ + WebId: webId, + HeaderJSON: refJSON, }) isChanged = true } - if web.ResponseHeaderPolicyId <= 0 { + if webConfig.ResponseHeaderPolicy == nil { createHeaderPolicyResp, err := this.RPC().HTTPHeaderPolicyRPC().CreateHTTPHeaderPolicy(this.AdminContext(), &pb.CreateHTTPHeaderPolicyRequest{}) if err != nil { this.ErrorPage(err) return } headerPolicyId := createHeaderPolicyResp.HeaderPolicyId - _, err = this.RPC().HTTPWebRPC().UpdateHTTPWebResponseHeaderPolicy(this.AdminContext(), &pb.UpdateHTTPWebResponseHeaderPolicyRequest{ - WebId: web.Id, + ref := &shared.HTTPHeaderPolicyRef{ + IsPrior: false, + IsOn: true, HeaderPolicyId: headerPolicyId, + } + refJSON, err := json.Marshal(ref) + if err != nil { + this.ErrorPage(err) + return + } + _, err = this.RPC().HTTPWebRPC().UpdateHTTPWebResponseHeader(this.AdminContext(), &pb.UpdateHTTPWebResponseHeaderRequest{ + WebId: webId, + HeaderJSON: refJSON, }) isChanged = true } @@ -73,8 +84,10 @@ func (this *IndexAction) RunGet(params struct { } } - this.Data["requestHeaderPolicy"] = webConfig.RequestHeaders - this.Data["responseHeaderPolicy"] = webConfig.ResponseHeaders + this.Data["requestHeaderRef"] = webConfig.RequestHeaderPolicyRef + this.Data["requestHeaderPolicy"] = webConfig.RequestHeaderPolicy + this.Data["responseHeaderRef"] = webConfig.ResponseHeaderPolicyRef + this.Data["responseHeaderPolicy"] = webConfig.ResponseHeaderPolicy this.Show() } diff --git a/internal/web/actions/default/servers/server/settings/http/index.go b/internal/web/actions/default/servers/server/settings/http/index.go index 7c252674..31d93254 100644 --- a/internal/web/actions/default/servers/server/settings/http/index.go +++ b/internal/web/actions/default/servers/server/settings/http/index.go @@ -3,6 +3,7 @@ package http import ( "encoding/json" "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/actionutils" + "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/default/servers/server/settings/webutils" "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/default/servers/serverutils" "github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb" "github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs" @@ -43,6 +44,15 @@ func (this *IndexAction) RunGet(params struct { "addresses": httpConfig.Listen, } + // 跳转相关设置 + webConfig, err := webutils.FindWebConfigWithServerId(this.Parent(), params.ServerId) + if err != nil { + this.ErrorPage(err) + return + } + this.Data["webId"] = webConfig.Id + this.Data["redirectToHTTPSConfig"] = webConfig.RedirectToHttps + this.Show() } @@ -50,6 +60,9 @@ func (this *IndexAction) RunPost(params struct { ServerId int64 Addresses string + WebId int64 + RedirectToHTTPSJSON []byte + Must *actions.Must }) { addresses := []*serverconfigs.NetworkAddressConfig{} @@ -89,5 +102,16 @@ func (this *IndexAction) RunPost(params struct { return } + // 设置跳转到HTTPS + // TODO 校验设置 + _, err = this.RPC().HTTPWebRPC().UpdateHTTPWebRedirectToHTTPS(this.AdminContext(), &pb.UpdateHTTPWebRedirectToHTTPSRequest{ + WebId: params.WebId, + RedirectToHTTPSJSON: params.RedirectToHTTPSJSON, + }) + if err != nil { + this.ErrorPage(err) + return + } + this.Success() } diff --git a/internal/web/actions/default/servers/server/settings/locations/charset/index.go b/internal/web/actions/default/servers/server/settings/locations/charset/index.go index fc73a4d6..377a7017 100644 --- a/internal/web/actions/default/servers/server/settings/locations/charset/index.go +++ b/internal/web/actions/default/servers/server/settings/locations/charset/index.go @@ -25,7 +25,7 @@ func (this *IndexAction) RunGet(params struct { } this.Data["webId"] = webConfig.Id - this.Data["charset"] = webConfig.Charset + this.Data["charsetConfig"] = webConfig.Charset this.Data["usualCharsets"] = configutils.UsualCharsets this.Data["allCharsets"] = configutils.AllCharsets @@ -34,14 +34,14 @@ func (this *IndexAction) RunGet(params struct { } func (this *IndexAction) RunPost(params struct { - WebId int64 - Charset string + WebId int64 + CharsetJSON []byte Must *actions.Must }) { _, err := this.RPC().HTTPWebRPC().UpdateHTTPWebCharset(this.AdminContext(), &pb.UpdateHTTPWebCharsetRequest{ - WebId: params.WebId, - Charset: params.Charset, + WebId: params.WebId, + CharsetJSON: params.CharsetJSON, }) if err != nil { this.ErrorPage(err) diff --git a/internal/web/actions/default/servers/server/settings/locations/gzip/index.go b/internal/web/actions/default/servers/server/settings/locations/gzip/index.go index 53a52165..49b3407c 100644 --- a/internal/web/actions/default/servers/server/settings/locations/gzip/index.go +++ b/internal/web/actions/default/servers/server/settings/locations/gzip/index.go @@ -53,15 +53,25 @@ func (this *IndexAction) RunGet(params struct { this.Data["gzipConfig"] = gzipConfig + if webConfig.GzipRef == nil { + webConfig.GzipRef = &serverconfigs.HTTPGzipRef{ + IsPrior: false, + IsOn: false, + GzipId: 0, + } + } + this.Data["gzipRef"] = webConfig.GzipRef + this.Show() } func (this *IndexAction) RunPost(params struct { - WebId int64 - GzipId int64 - Level int - MinLength string - MaxLength string + WebId int64 + GzipRefJSON []byte + GzipId int64 + Level int + MinLength string + MaxLength string Must *actions.Must }) { @@ -87,6 +97,14 @@ func (this *IndexAction) RunPost(params struct { } } + gzipRef := &serverconfigs.HTTPGzipRef{} + err := json.Unmarshal(params.GzipRefJSON, gzipRef) + if err != nil { + this.ErrorPage(err) + return + } + gzipRef.GzipId = params.GzipId + if params.GzipId > 0 { _, err := this.RPC().HTTPGzipRPC().UpdateHTTPGzip(this.AdminContext(), &pb.UpdateHTTPGzipRequest{ GzipId: params.GzipId, @@ -109,24 +127,21 @@ func (this *IndexAction) RunPost(params struct { return } gzipId := resp.GzipId + gzipRef.GzipId = gzipId + } - gzipRef := &serverconfigs.HTTPGzipRef{ - IsOn: true, - GzipId: gzipId, - } - gzipRefJSON, err := json.Marshal(gzipRef) - if err != nil { - this.ErrorPage(err) - return - } + gzipRefJSON, err := json.Marshal(gzipRef) + if err != nil { + this.ErrorPage(err) + return + } - _, err = this.RPC().HTTPWebRPC().UpdateHTTPWebGzip(this.AdminContext(), &pb.UpdateHTTPWebGzipRequest{ - WebId: params.WebId, - GzipJSON: gzipRefJSON, - }) - if err != nil { - this.ErrorPage(err) - } + _, err = this.RPC().HTTPWebRPC().UpdateHTTPWebGzip(this.AdminContext(), &pb.UpdateHTTPWebGzipRequest{ + WebId: params.WebId, + GzipJSON: gzipRefJSON, + }) + if err != nil { + this.ErrorPage(err) } this.Success() diff --git a/internal/web/actions/default/servers/server/settings/locations/headers/index.go b/internal/web/actions/default/servers/server/settings/locations/headers/index.go index 853cd098..70e057c7 100644 --- a/internal/web/actions/default/servers/server/settings/locations/headers/index.go +++ b/internal/web/actions/default/servers/server/settings/locations/headers/index.go @@ -1,10 +1,12 @@ package headers import ( - "errors" + "encoding/json" "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/actionutils" "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/default/servers/server/settings/webutils" "github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb" + "github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs/shared" + "github.com/iwind/TeaGo/actions" ) type IndexAction struct { @@ -23,41 +25,54 @@ func (this *IndexAction) RunGet(params struct { return } - // 初始化Header - webResp, err := this.RPC().HTTPWebRPC().FindEnabledHTTPWeb(this.AdminContext(), &pb.FindEnabledHTTPWebRequest{WebId: webConfig.Id}) - if err != nil { - this.ErrorPage(err) - return - } - web := webResp.Web - if web == nil { - this.ErrorPage(errors.New("web should not be nil")) - return - } + webId := webConfig.Id + this.Data["webId"] = webId + isChanged := false - if web.RequestHeaderPolicyId <= 0 { + + if webConfig.RequestHeaderPolicy == nil { createHeaderPolicyResp, err := this.RPC().HTTPHeaderPolicyRPC().CreateHTTPHeaderPolicy(this.AdminContext(), &pb.CreateHTTPHeaderPolicyRequest{}) if err != nil { this.ErrorPage(err) return } headerPolicyId := createHeaderPolicyResp.HeaderPolicyId - _, err = this.RPC().HTTPWebRPC().UpdateHTTPWebRequestHeaderPolicy(this.AdminContext(), &pb.UpdateHTTPWebRequestHeaderPolicyRequest{ - WebId: web.Id, + ref := &shared.HTTPHeaderPolicyRef{ + IsPrior: false, + IsOn: true, HeaderPolicyId: headerPolicyId, + } + refJSON, err := json.Marshal(ref) + if err != nil { + this.ErrorPage(err) + return + } + _, err = this.RPC().HTTPWebRPC().UpdateHTTPWebRequestHeader(this.AdminContext(), &pb.UpdateHTTPWebRequestHeaderRequest{ + WebId: webId, + HeaderJSON: refJSON, }) isChanged = true } - if web.ResponseHeaderPolicyId <= 0 { + if webConfig.ResponseHeaderPolicy == nil { createHeaderPolicyResp, err := this.RPC().HTTPHeaderPolicyRPC().CreateHTTPHeaderPolicy(this.AdminContext(), &pb.CreateHTTPHeaderPolicyRequest{}) if err != nil { this.ErrorPage(err) return } headerPolicyId := createHeaderPolicyResp.HeaderPolicyId - _, err = this.RPC().HTTPWebRPC().UpdateHTTPWebResponseHeaderPolicy(this.AdminContext(), &pb.UpdateHTTPWebResponseHeaderPolicyRequest{ - WebId: web.Id, + ref := &shared.HTTPHeaderPolicyRef{ + IsPrior: false, + IsOn: true, HeaderPolicyId: headerPolicyId, + } + refJSON, err := json.Marshal(ref) + if err != nil { + this.ErrorPage(err) + return + } + _, err = this.RPC().HTTPWebRPC().UpdateHTTPWebResponseHeader(this.AdminContext(), &pb.UpdateHTTPWebResponseHeaderRequest{ + WebId: webId, + HeaderJSON: refJSON, }) isChanged = true } @@ -71,8 +86,44 @@ func (this *IndexAction) RunGet(params struct { } } - this.Data["requestHeaderPolicy"] = webConfig.RequestHeaders - this.Data["responseHeaderPolicy"] = webConfig.ResponseHeaders + this.Data["requestHeaderRef"] = webConfig.RequestHeaderPolicyRef + this.Data["requestHeaderPolicy"] = webConfig.RequestHeaderPolicy + this.Data["responseHeaderRef"] = webConfig.ResponseHeaderPolicyRef + this.Data["responseHeaderPolicy"] = webConfig.ResponseHeaderPolicy this.Show() } + +func (this *IndexAction) RunPost(params struct { + WebId int64 + Type string + RequestHeaderJSON []byte + ResponseHeaderJSON []byte + + Must *actions.Must +}) { + // TODO 检查配置 + + switch params.Type { + case "request": + _, err := this.RPC().HTTPWebRPC().UpdateHTTPWebRequestHeader(this.AdminContext(), &pb.UpdateHTTPWebRequestHeaderRequest{ + WebId: params.WebId, + HeaderJSON: params.RequestHeaderJSON, + }) + if err != nil { + this.ErrorPage(err) + return + } + case "response": + _, err := this.RPC().HTTPWebRPC().UpdateHTTPWebResponseHeader(this.AdminContext(), &pb.UpdateHTTPWebResponseHeaderRequest{ + WebId: params.WebId, + HeaderJSON: params.ResponseHeaderJSON, + }) + if err != nil { + this.ErrorPage(err) + return + } + } + + this.Success() +} diff --git a/internal/web/actions/default/servers/server/settings/locations/headers/init.go b/internal/web/actions/default/servers/server/settings/locations/headers/init.go index 4f69a9e0..5d70e9f1 100644 --- a/internal/web/actions/default/servers/server/settings/locations/headers/init.go +++ b/internal/web/actions/default/servers/server/settings/locations/headers/init.go @@ -15,7 +15,7 @@ func init() { Helper(serverutils.NewServerHelper()). Data("tinyMenuItem", "header"). Prefix("/servers/server/settings/locations/headers"). - Get("", new(IndexAction)). + GetPost("", new(IndexAction)). EndAll() }) } diff --git a/internal/web/actions/default/servers/server/settings/locations/http/index.go b/internal/web/actions/default/servers/server/settings/locations/http/index.go new file mode 100644 index 00000000..3da71d20 --- /dev/null +++ b/internal/web/actions/default/servers/server/settings/locations/http/index.go @@ -0,0 +1,50 @@ +package http + +import ( + "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/actionutils" + "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/default/servers/server/settings/webutils" + "github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb" + "github.com/iwind/TeaGo/actions" +) + +type IndexAction struct { + actionutils.ParentAction +} + +func (this *IndexAction) Init() { +} + +func (this *IndexAction) RunGet(params struct { + LocationId int64 +}) { + // 跳转相关设置 + webConfig, err := webutils.FindWebConfigWithLocationId(this.Parent(), params.LocationId) + if err != nil { + this.ErrorPage(err) + return + } + this.Data["webId"] = webConfig.Id + this.Data["redirectToHTTPSConfig"] = webConfig.RedirectToHttps + + this.Show() +} + +func (this *IndexAction) RunPost(params struct { + WebId int64 + RedirectToHTTPSJSON []byte + + Must *actions.Must +}) { + // 设置跳转到HTTPS + // TODO 校验设置 + _, err := this.RPC().HTTPWebRPC().UpdateHTTPWebRedirectToHTTPS(this.AdminContext(), &pb.UpdateHTTPWebRedirectToHTTPSRequest{ + WebId: params.WebId, + RedirectToHTTPSJSON: params.RedirectToHTTPSJSON, + }) + if err != nil { + this.ErrorPage(err) + return + } + + this.Success() +} diff --git a/internal/web/actions/default/servers/server/settings/locations/http/init.go b/internal/web/actions/default/servers/server/settings/locations/http/init.go new file mode 100644 index 00000000..e884876e --- /dev/null +++ b/internal/web/actions/default/servers/server/settings/locations/http/init.go @@ -0,0 +1,21 @@ +package http + +import ( + "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/default/servers/server/settings/locations/locationutils" + "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/default/servers/serverutils" + "github.com/TeaOSLab/EdgeAdmin/internal/web/helpers" + "github.com/iwind/TeaGo" +) + +func init() { + TeaGo.BeforeStart(func(server *TeaGo.Server) { + server. + Helper(helpers.NewUserMustAuth()). + Helper(locationutils.NewLocationHelper()). + Helper(serverutils.NewServerHelper()). + Data("tinyMenuItem", "http"). + Prefix("/servers/server/settings/locations/http"). + GetPost("", new(IndexAction)). + EndAll() + }) +} diff --git a/internal/web/actions/default/servers/server/settings/locations/locationutils/location_helper.go b/internal/web/actions/default/servers/server/settings/locations/locationutils/location_helper.go index ca811a65..22d38344 100644 --- a/internal/web/actions/default/servers/server/settings/locations/locationutils/location_helper.go +++ b/internal/web/actions/default/servers/server/settings/locations/locationutils/location_helper.go @@ -55,6 +55,12 @@ func (this *LocationHelper) createMenus(serverIdString string, locationIdString }, } + menuItems = append(menuItems, maps.Map{ + "name": "HTTP", + "url": "/servers/server/settings/locations/http?serverId=" + serverIdString + "&locationId=" + locationIdString, + "isActive": secondMenuItem == "http", + }) + menuItems = append(menuItems, maps.Map{ "name": "Web设置", "url": "/servers/server/settings/locations/web?serverId=" + serverIdString + "&locationId=" + locationIdString, diff --git a/internal/web/import.go b/internal/web/import.go index 8fe1ee64..712327bc 100644 --- a/internal/web/import.go +++ b/internal/web/import.go @@ -41,6 +41,7 @@ import ( _ "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/default/servers/server/settings/locations/charset" _ "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/default/servers/server/settings/locations/gzip" _ "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/default/servers/server/settings/locations/headers" + _ "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/default/servers/server/settings/locations/http" _ "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/default/servers/server/settings/locations/location" _ "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/default/servers/server/settings/locations/pages" _ "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/default/servers/server/settings/locations/reverseProxy" diff --git a/web/public/js/components/server/http-access-log-config-box.js b/web/public/js/components/server/http-access-log-config-box.js index cd7ca11e..d59c5665 100644 --- a/web/public/js/components/server/http-access-log-config-box.js +++ b/web/public/js/components/server/http-access-log-config-box.js @@ -1,5 +1,5 @@ Vue.component("http-access-log-config-box", { - props: ["v-access-log-config", "v-fields", "v-default-field-codes", "v-access-log-policies"], + props: ["v-access-log-config", "v-fields", "v-default-field-codes", "v-access-log-policies", "v-is-location"], data: function () { let that = this @@ -10,6 +10,7 @@ Vue.component("http-access-log-config-box", { }, 100) let accessLog = { + isPrior: false, isOn: true, fields: [], status1: true, @@ -59,7 +60,8 @@ Vue.component("http-access-log-config-box", { template: `
- + + - +
是否开启访问日志存储 @@ -71,7 +73,7 @@ Vue.component("http-access-log-config-box", {
要存储的访问日志字段 diff --git a/web/public/js/components/server/http-cache-config-box.js b/web/public/js/components/server/http-cache-config-box.js index 4046fd9a..abbd2ed9 100644 --- a/web/public/js/components/server/http-cache-config-box.js +++ b/web/public/js/components/server/http-cache-config-box.js @@ -1,9 +1,10 @@ Vue.component("http-cache-config-box", { - props: ["v-cache-config", "v-cache-policies"], + props: ["v-cache-config", "v-cache-policies", "v-is-location"], data: function () { let cacheConfig = this.vCacheConfig if (cacheConfig == null) { cacheConfig = { + isPrior: false, isOn: false, cachePolicyId: 0 } @@ -20,30 +21,31 @@ Vue.component("http-cache-config-box", { template: `
- - - - - + + + + + + - - - - - + + + + +
是否开启缓存 -
- - -
-
是否开启缓存 +
+ + +
+
选择缓存策略 - 暂时没有可选的缓存策略 -
- -
-
选择缓存策略 + 暂时没有可选的缓存策略 +
+ +
+
diff --git a/web/public/js/components/server/http-charsets-box.js b/web/public/js/components/server/http-charsets-box.js index 9f06133a..94bb8bbb 100644 --- a/web/public/js/components/server/http-charsets-box.js +++ b/web/public/js/components/server/http-charsets-box.js @@ -1,27 +1,46 @@ Vue.component("http-charsets-box", { - props: ["v-usual-charsets", "v-all-charsets", "v-charset"], + props: ["v-usual-charsets", "v-all-charsets", "v-charset-config", "v-is-location"], data: function () { - let charset = this.vCharset - if (charset == null) { - charset = "" + let charsetConfig = this.vCharsetConfig + if (charsetConfig == null) { + charsetConfig = { + isPrior: false, + isOn: false, + charset: "" + } } return { - charset: charset + charsetConfig: charsetConfig } }, template: `
+ - - - - + + + + + + + + + + + + +
选择字符编码 -
是否启用 +
+ + +
+
选择字符编码 +
` diff --git a/web/public/js/components/server/http-firewall-config-box.js b/web/public/js/components/server/http-firewall-config-box.js index f7f8e50f..104e9dbc 100644 --- a/web/public/js/components/server/http-firewall-config-box.js +++ b/web/public/js/components/server/http-firewall-config-box.js @@ -1,9 +1,10 @@ Vue.component("http-firewall-config-box", { - props: ["v-firewall-config", "v-firewall-policies"], + props: ["v-firewall-config", "v-firewall-policies", "v-is-location"], data: function () { let firewall = this.vFirewallConfig if (firewall == null) { firewall = { + isPrior: false, isOn: false, firewallPolicyId: 0 } @@ -21,7 +22,8 @@ Vue.component("http-firewall-config-box", { template: `
- + + - + + + + + +` +}) \ No newline at end of file diff --git a/web/public/js/components/server/reverse-proxy-box.js b/web/public/js/components/server/reverse-proxy-box.js new file mode 100644 index 00000000..bcb9fbc0 --- /dev/null +++ b/web/public/js/components/server/reverse-proxy-box.js @@ -0,0 +1,34 @@ +Vue.component("reverse-proxy-box", { + props: ["v-reverse-proxy-ref", "v-is-location"], + data: function () { + let reverseProxyRef = this.vReverseProxyRef + if (reverseProxyRef == null) { + reverseProxyRef = { + isPrior: false, + isOn: false, + reverseProxyId: 0 + } + } + return { + reverseProxyRef: reverseProxyRef + } + }, + template: `
+ +
是否启用Web防火墙 @@ -32,7 +34,7 @@ Vue.component("http-firewall-config-box", {
选择Web防火墙策略 diff --git a/web/public/js/components/server/http-gzip-box.js b/web/public/js/components/server/http-gzip-box.js index 6b92164b..afcd5538 100644 --- a/web/public/js/components/server/http-gzip-box.js +++ b/web/public/js/components/server/http-gzip-box.js @@ -1,5 +1,5 @@ Vue.component("http-gzip-box", { - props: ["v-gzip-config"], + props: ["v-gzip-config", "v-gzip-ref", "v-is-location"], data: function () { let gzip = this.vGzipConfig if (gzip == null) { @@ -16,31 +16,35 @@ Vue.component("http-gzip-box", { } }, template: `
+ - - - - - - - - - - - - + + + + + + + + + + + + + + +
压缩级别 - -

级别越高,压缩比例越大。

-
Gzip内容最小长度 - -

0表示不限制,内容长度从文件尺寸或Content-Length中获取。

-
Gzip内容最大长度 - -

0表示不限制,内容长度从文件尺寸或Content-Length中获取。

-
压缩级别 + +

级别越高,压缩比例越大。

+
Gzip内容最小长度 + +

0表示不限制,内容长度从文件尺寸或Content-Length中获取。

+
Gzip内容最大长度 + +

0表示不限制,内容长度从文件尺寸或Content-Length中获取。

+
` }) \ No newline at end of file diff --git a/web/public/js/components/server/http-header-policy-box.js b/web/public/js/components/server/http-header-policy-box.js index 31d60bd1..4122a2ff 100644 --- a/web/public/js/components/server/http-header-policy-box.js +++ b/web/public/js/components/server/http-header-policy-box.js @@ -1,5 +1,5 @@ Vue.component("http-header-policy-box", { - props: ["v-request-header-policy", "v-response-header-policy", "v-params"], + props: ["v-request-header-policy", "v-request-header-ref", "v-response-header-policy", "v-response-header-ref", "v-params", "v-is-location"], data: function () { let type = "request" let hash = window.location.hash @@ -7,6 +7,25 @@ Vue.component("http-header-policy-box", { type = "response" } + // ref + let requestHeaderRef = this.vRequestHeaderRef + if (requestHeaderRef == null) { + requestHeaderRef = { + isPrior: false, + isOn: true, + headerPolicyId: 0 + } + } + + let responseHeaderRef = this.vResponseHeaderRef + if (responseHeaderRef == null) { + responseHeaderRef = { + isPrior: false, + isOn: true, + headerPolicyId: 0 + } + } + // 请求相关 let requestSettingHeaders = [] let requestDeletingHeaders = [] @@ -37,6 +56,9 @@ Vue.component("http-header-policy-box", { return { type: type, + typeName: (type == "request") ? "请求" : "响应", + requestHeaderRef: requestHeaderRef, + responseHeaderRef: responseHeaderRef, requestSettingHeaders: requestSettingHeaders, requestDeletingHeaders: requestDeletingHeaders, responseSettingHeaders: responseSettingHeaders, @@ -47,6 +69,7 @@ Vue.component("http-header-policy-box", { selectType: function (type) { this.type = type window.location.hash = "#" + type + window.location.reload() }, addSettingHeader: function (policyId) { teaweb.popup("/servers/server/settings/headers/createSetPopup?" + this.vParams + "&headerPolicyId=" + policyId, { @@ -101,9 +124,19 @@ Vue.component("http-header-policy-box", {
+ + -
-

设置Header [添加新Header]

+
+ + + +
+ +
+ +
+

设置请求Header [添加新Header]

暂时还没有Header。

@@ -120,7 +153,7 @@ Vue.component("http-header-policy-box", {
-

删除Header

+

删除请求Header

这里可以设置需要从请求中删除的Header。

@@ -136,8 +169,16 @@ Vue.component("http-header-policy-box", { +
+ +
+ +
+ +
+
-

设置Header [添加新Header]

+

设置响应Header [添加新Header]

暂时还没有Header。

@@ -154,7 +195,7 @@ Vue.component("http-header-policy-box", {
-

删除Header

+

删除响应Header

这里可以设置需要从响应中删除的Header。

@@ -168,6 +209,6 @@ Vue.component("http-header-policy-box", {
- +
` }) \ No newline at end of file diff --git a/web/public/js/components/server/http-redirect-to-https-box.js b/web/public/js/components/server/http-redirect-to-https-box.js new file mode 100644 index 00000000..5c42f842 --- /dev/null +++ b/web/public/js/components/server/http-redirect-to-https-box.js @@ -0,0 +1,45 @@ +Vue.component("http-redirect-to-https-box", { + props: ["v-redirect-to-https-config", "v-is-location"], + data: function () { + let redirectToHttpsConfig = this.vRedirectToHttpsConfig + if (redirectToHttpsConfig == null) { + redirectToHttpsConfig = { + isPrior: false, + isOn: false + } + } + return { + redirectToHttpsConfig: redirectToHttpsConfig + } + }, + template: `
+ + + + + + + + + + + +
自动跳转到HTTPS +
+ + +
+

开启后,所有HTTP的请求都会自动跳转到对应的HTTPS URL上。

+
+ + +
+
+ + +
+

开启后,所有HTTP的请求都会自动跳转到对应的HTTPS URL上。

+
+
+
` +}) \ No newline at end of file diff --git a/web/public/js/components/server/http-stat-config-box.js b/web/public/js/components/server/http-stat-config-box.js index e6ca1bf5..f6115a91 100644 --- a/web/public/js/components/server/http-stat-config-box.js +++ b/web/public/js/components/server/http-stat-config-box.js @@ -1,9 +1,10 @@ Vue.component("http-stat-config-box", { - props: ["v-stat-config"], + props: ["v-stat-config", "v-is-location"], data: function () { let stat = this.vStatConfig if (stat == null) { stat = { + isPrior: false, isOn: true } } @@ -14,15 +15,18 @@ Vue.component("http-stat-config-box", { template: `
- - - - + + + + + + +
是否开启统计 -
- - -
-
是否开启统计 +
+ + +
+
` diff --git a/web/public/js/components/server/prior-checkbox.js b/web/public/js/components/server/prior-checkbox.js new file mode 100644 index 00000000..d84782be --- /dev/null +++ b/web/public/js/components/server/prior-checkbox.js @@ -0,0 +1,25 @@ +Vue.component("prior-checkbox", { + props: ["v-config"], + data: function () { + return { + isPrior: this.vConfig.isPrior + } + }, + watch: { + isPrior: function (v) { + this.vConfig.isPrior = v + } + }, + template: `
打开独立配置 +
+ + +
+

[已打开] 打开后可以覆盖父级配置。

+
+ + + + + + + +
是否启用反向代理 +
+ + +
+
+
+
` +}) \ No newline at end of file diff --git a/web/views/@default/@layout.css b/web/views/@default/@layout.css index 42316da9..eb9da78b 100644 --- a/web/views/@default/@layout.css +++ b/web/views/@default/@layout.css @@ -111,6 +111,9 @@ tbody { .table td { font-size: 0.9em !important; } +.table tr.active td { + background: rgba(0, 0, 0, 0.01) !important; +} p.comment, div.comment { color: rgba(0, 0, 0, 0.3); diff --git a/web/views/@default/@layout.css.map b/web/views/@default/@layout.css.map index 65607c14..dc33fb52 100644 --- a/web/views/@default/@layout.css.map +++ b/web/views/@default/@layout.css.map @@ -1 +1 @@ -{"version":3,"sources":["@left_menu.less","@layout.less"],"names":[],"mappings":"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","file":"@layout.css"} \ No newline at end of file +{"version":3,"sources":["@left_menu.less","@layout.less"],"names":[],"mappings":"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","file":"@layout.css"} \ No newline at end of file diff --git a/web/views/@default/@layout.html b/web/views/@default/@layout.html index b8fc1baf..e1ddd3da 100644 --- a/web/views/@default/@layout.html +++ b/web/views/@default/@layout.html @@ -6,8 +6,9 @@ - {$TEA.SEMANTIC} + + {$TEA.VUE} {$echo "header"} diff --git a/web/views/@default/@layout.js b/web/views/@default/@layout.js index 4fd30f03..f4c7974b 100644 --- a/web/views/@default/@layout.js +++ b/web/views/@default/@layout.js @@ -2,6 +2,10 @@ Tea.context(function () { this.moreOptionsVisible = false; this.globalChangedClusters = []; + if (typeof this.leftMenuItemIsDisabled == "undefined") { + this.leftMenuItemIsDisabled = false + } + this.$delay(function () { if (this.$refs.focus != null) { this.$refs.focus.focus(); diff --git a/web/views/@default/@layout.less b/web/views/@default/@layout.less index 49a524ca..47bae613 100644 --- a/web/views/@default/@layout.less +++ b/web/views/@default/@layout.less @@ -57,6 +57,10 @@ tbody { font-size: 0.9em !important; } +.table tr.active td { + background: rgba(0, 0, 0, 0.01) !important; +} + p.comment, div.comment { color: rgba(0, 0, 0, 0.3); padding-top: 0.4em; @@ -726,4 +730,4 @@ form { .fields { margin-bottom: 0 !important; } -} \ No newline at end of file +} diff --git a/web/views/@default/@layout_override.css b/web/views/@default/@layout_override.css new file mode 100644 index 00000000..2b6e9397 --- /dev/null +++ b/web/views/@default/@layout_override.css @@ -0,0 +1,9 @@ +.ui.toggle.checkbox input:focus:checked ~ .box:before, +.ui.toggle.checkbox input:focus:checked ~ label:before { + background-color: #21ba45 !important; +} +.ui.toggle.checkbox input:checked ~ .box:before, +.ui.toggle.checkbox input:checked ~ label:before { + background-color: #21ba45 !important; +} +/*# sourceMappingURL=@layout_override.css.map */ \ No newline at end of file diff --git a/web/views/@default/@layout_override.css.map b/web/views/@default/@layout_override.css.map new file mode 100644 index 00000000..f9af6cb0 --- /dev/null +++ b/web/views/@default/@layout_override.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["@layout_override.less"],"names":[],"mappings":"AACA,GAAG,OAAO,SAAU,MAAK,MAAM,QAAS,OAAM;AAAS,GAAG,OAAO,SAAU,MAAK,MAAM,QAAS,QAAO;EACrG,oCAAA;;AAGD,GAAG,OAAO,SAAU,MAAK,QAAS,OAAM;AAAS,GAAG,OAAO,SAAU,MAAK,QAAS,QAAO;EACzF,oCAAA","file":"@layout_override.css"} \ No newline at end of file diff --git a/web/views/@default/@layout_override.less b/web/views/@default/@layout_override.less new file mode 100644 index 00000000..ee974e1e --- /dev/null +++ b/web/views/@default/@layout_override.less @@ -0,0 +1,8 @@ +// labels +.ui.toggle.checkbox input:focus:checked ~ .box:before, .ui.toggle.checkbox input:focus:checked ~ label:before { + background-color: #21ba45 !important; +} + +.ui.toggle.checkbox input:checked ~ .box:before, .ui.toggle.checkbox input:checked ~ label:before { + background-color: #21ba45 !important; +} \ No newline at end of file diff --git a/web/views/@default/servers/server/settings/charset/index.html b/web/views/@default/servers/server/settings/charset/index.html index 249b16cd..da4f859a 100644 --- a/web/views/@default/servers/server/settings/charset/index.html +++ b/web/views/@default/servers/server/settings/charset/index.html @@ -5,7 +5,7 @@
- +
\ No newline at end of file diff --git a/web/views/@default/servers/server/settings/http/index.html b/web/views/@default/servers/server/settings/http/index.html index 35fb900b..889716fc 100644 --- a/web/views/@default/servers/server/settings/http/index.html +++ b/web/views/@default/servers/server/settings/http/index.html @@ -5,6 +5,7 @@
+ @@ -13,6 +14,12 @@ + + + +
自动跳转到HTTPS + +
diff --git a/web/views/@default/servers/server/settings/locations/accessLog/index.html b/web/views/@default/servers/server/settings/locations/accessLog/index.html index b201f78a..3341b5e6 100644 --- a/web/views/@default/servers/server/settings/locations/accessLog/index.html +++ b/web/views/@default/servers/server/settings/locations/accessLog/index.html @@ -13,7 +13,8 @@ :v-access-log-config="accessLogConfig" :v-fields="fields" :v-default-field-codes="defaultFieldCodes" - :v-access-log-policies="accessLogPolicies"> + :v-access-log-policies="accessLogPolicies" + :v-is-location="true">
diff --git a/web/views/@default/servers/server/settings/locations/cache/index.html b/web/views/@default/servers/server/settings/locations/cache/index.html index faebd1a4..da8ea9dd 100644 --- a/web/views/@default/servers/server/settings/locations/cache/index.html +++ b/web/views/@default/servers/server/settings/locations/cache/index.html @@ -9,7 +9,7 @@
- +
diff --git a/web/views/@default/servers/server/settings/locations/charset/index.html b/web/views/@default/servers/server/settings/locations/charset/index.html index ab7e46e1..f51e573e 100644 --- a/web/views/@default/servers/server/settings/locations/charset/index.html +++ b/web/views/@default/servers/server/settings/locations/charset/index.html @@ -10,7 +10,7 @@
- +
diff --git a/web/views/@default/servers/server/settings/locations/gzip/index.html b/web/views/@default/servers/server/settings/locations/gzip/index.html index 5b61579b..e59c712d 100644 --- a/web/views/@default/servers/server/settings/locations/gzip/index.html +++ b/web/views/@default/servers/server/settings/locations/gzip/index.html @@ -12,7 +12,7 @@ - +
diff --git a/web/views/@default/servers/server/settings/locations/headers/createDeletePopup.html b/web/views/@default/servers/server/settings/locations/headers/createDeletePopup.html deleted file mode 100644 index e8084a70..00000000 --- a/web/views/@default/servers/server/settings/locations/headers/createDeletePopup.html +++ /dev/null @@ -1,15 +0,0 @@ -{$layout "layout_popup"} - -

添加需要删除的Header

-
- - - - - - -
名称(Name) - -
- -
diff --git a/web/views/@default/servers/server/settings/locations/headers/createDeletePopup.js b/web/views/@default/servers/server/settings/locations/headers/createDeletePopup.js deleted file mode 100644 index c8fe9515..00000000 --- a/web/views/@default/servers/server/settings/locations/headers/createDeletePopup.js +++ /dev/null @@ -1,3 +0,0 @@ -Tea.context(function () { - this.success = NotifyPopup -}) \ No newline at end of file diff --git a/web/views/@default/servers/server/settings/locations/headers/createSetPopup.html b/web/views/@default/servers/server/settings/locations/headers/createSetPopup.html deleted file mode 100644 index f83492e6..00000000 --- a/web/views/@default/servers/server/settings/locations/headers/createSetPopup.html +++ /dev/null @@ -1,22 +0,0 @@ -{$layout "layout_popup"} -

设置Header

- -
- - - - - - - - - - - -
名称(Name) - -
(Value) - -
- -
diff --git a/web/views/@default/servers/server/settings/locations/headers/createSetPopup.js b/web/views/@default/servers/server/settings/locations/headers/createSetPopup.js deleted file mode 100644 index c8fe9515..00000000 --- a/web/views/@default/servers/server/settings/locations/headers/createSetPopup.js +++ /dev/null @@ -1,3 +0,0 @@ -Tea.context(function () { - this.success = NotifyPopup -}) \ No newline at end of file diff --git a/web/views/@default/servers/server/settings/locations/headers/index.html b/web/views/@default/servers/server/settings/locations/headers/index.html index e27fd2a7..fcb313fd 100644 --- a/web/views/@default/servers/server/settings/locations/headers/index.html +++ b/web/views/@default/servers/server/settings/locations/headers/index.html @@ -7,6 +7,15 @@ {$template "../left_menu"}
- +
+ + +
\ No newline at end of file diff --git a/web/views/@default/servers/server/settings/locations/headers/index.js b/web/views/@default/servers/server/settings/locations/headers/index.js new file mode 100644 index 00000000..295a9aaf --- /dev/null +++ b/web/views/@default/servers/server/settings/locations/headers/index.js @@ -0,0 +1,3 @@ +Tea.context(function () { + this.success = NotifyReloadSuccess("保存成功") +}) \ No newline at end of file diff --git a/web/views/@default/servers/server/settings/locations/headers/updateSetPopup.html b/web/views/@default/servers/server/settings/locations/headers/updateSetPopup.html deleted file mode 100644 index 6fd1c02e..00000000 --- a/web/views/@default/servers/server/settings/locations/headers/updateSetPopup.html +++ /dev/null @@ -1,23 +0,0 @@ -{$layout "layout_popup"} -

修改Header

- -
- - - - - - - - - - - - -
名称(Name) - -
(Value) - -
- -
diff --git a/web/views/@default/servers/server/settings/locations/headers/updateSetPopup.js b/web/views/@default/servers/server/settings/locations/headers/updateSetPopup.js deleted file mode 100644 index c8fe9515..00000000 --- a/web/views/@default/servers/server/settings/locations/headers/updateSetPopup.js +++ /dev/null @@ -1,3 +0,0 @@ -Tea.context(function () { - this.success = NotifyPopup -}) \ No newline at end of file diff --git a/web/views/@default/servers/server/settings/locations/http/index.html b/web/views/@default/servers/server/settings/locations/http/index.html new file mode 100644 index 00000000..181174e6 --- /dev/null +++ b/web/views/@default/servers/server/settings/locations/http/index.html @@ -0,0 +1,16 @@ +{$layout} +{$template "/left_menu"} + +
+ {$template "../location_menu"} + {$template "../left_menu"} + +
+
+ + + + +
+
+
\ No newline at end of file diff --git a/web/views/@default/servers/server/settings/locations/http/index.js b/web/views/@default/servers/server/settings/locations/http/index.js new file mode 100644 index 00000000..295a9aaf --- /dev/null +++ b/web/views/@default/servers/server/settings/locations/http/index.js @@ -0,0 +1,3 @@ +Tea.context(function () { + this.success = NotifyReloadSuccess("保存成功") +}) \ No newline at end of file diff --git a/web/views/@default/servers/server/settings/locations/reverseProxy/index.html b/web/views/@default/servers/server/settings/locations/reverseProxy/index.html index a092e79d..b4a646cf 100644 --- a/web/views/@default/servers/server/settings/locations/reverseProxy/index.html +++ b/web/views/@default/servers/server/settings/locations/reverseProxy/index.html @@ -10,25 +10,15 @@
- - - - - - -
是否启用反向代理 -
- - -
-
+
-
+
- +
\ No newline at end of file diff --git a/web/views/@default/servers/server/settings/locations/stat/index.html b/web/views/@default/servers/server/settings/locations/stat/index.html index e488e060..037d7896 100644 --- a/web/views/@default/servers/server/settings/locations/stat/index.html +++ b/web/views/@default/servers/server/settings/locations/stat/index.html @@ -9,7 +9,7 @@
- +
diff --git a/web/views/@default/servers/server/settings/locations/waf/index.html b/web/views/@default/servers/server/settings/locations/waf/index.html index fbffc8c9..97d01c28 100644 --- a/web/views/@default/servers/server/settings/locations/waf/index.html +++ b/web/views/@default/servers/server/settings/locations/waf/index.html @@ -9,7 +9,7 @@
- +
diff --git a/web/views/@default/servers/server/settings/reverseProxy/index.html b/web/views/@default/servers/server/settings/reverseProxy/index.html index 9b63d4e0..783fc9bb 100644 --- a/web/views/@default/servers/server/settings/reverseProxy/index.html +++ b/web/views/@default/servers/server/settings/reverseProxy/index.html @@ -8,17 +8,7 @@
- - - - - -
是否启用反向代理 -
- - -
-
+