From cad128451c959a0af5968f34ce7fea3aac613ac8 Mon Sep 17 00:00:00 2001 From: GoEdgeLab Date: Fri, 23 Jun 2023 11:43:36 +0800 Subject: [PATCH] =?UTF-8?q?=E6=BA=90=E7=AB=99=E6=94=AF=E6=8C=81HTTP/2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../actions/default/servers/addOriginPopup.go | 26 ++++++------ .../group/settings/httpReverseProxy/index.go | 42 ++++++++++--------- .../group/settings/tcpReverseProxy/index.go | 42 ++++++++++--------- .../group/settings/udpReverseProxy/index.go | 42 ++++++++++--------- .../settings/locations/reverseProxy/index.go | 42 ++++++++++--------- .../server/settings/origins/addPopup.go | 8 ++-- .../server/settings/origins/updatePopup.go | 9 ++-- .../server/settings/reverseProxy/index.go | 42 ++++++++++--------- .../js/components/server/origin-list-box.js | 1 + .../@default/servers/addOriginPopup.html | 9 +++- .../server/settings/origins/addPopup.html | 7 ++++ .../server/settings/origins/updatePopup.html | 7 ++++ 12 files changed, 158 insertions(+), 119 deletions(-) diff --git a/internal/web/actions/default/servers/addOriginPopup.go b/internal/web/actions/default/servers/addOriginPopup.go index 96effbb6..3dcdaab6 100644 --- a/internal/web/actions/default/servers/addOriginPopup.go +++ b/internal/web/actions/default/servers/addOriginPopup.go @@ -37,9 +37,10 @@ func (this *AddOriginPopupAction) RunPost(params struct { Protocol string Addr string - DomainsJSON []byte - Host string - FollowPort bool + DomainsJSON []byte + Host string + FollowPort bool + Http2Enabled bool Must *actions.Must }) { @@ -149,15 +150,16 @@ func (this *AddOriginPopupAction) RunPost(params struct { } resp, err := this.RPC().OriginRPC().CreateOrigin(this.AdminContext(), &pb.CreateOriginRequest{ - Name: "", - Addr: pbAddr, - OssJSON: ossJSON, - Description: "", - Weight: 10, - IsOn: true, - Domains: domains, - Host: params.Host, - FollowPort: params.FollowPort, + Name: "", + Addr: pbAddr, + OssJSON: ossJSON, + Description: "", + Weight: 10, + IsOn: true, + Domains: domains, + Host: params.Host, + FollowPort: params.FollowPort, + Http2Enabled: params.Http2Enabled, }) if err != nil { this.ErrorPage(err) diff --git a/internal/web/actions/default/servers/groups/group/settings/httpReverseProxy/index.go b/internal/web/actions/default/servers/groups/group/settings/httpReverseProxy/index.go index 546efa56..20ad23b9 100644 --- a/internal/web/actions/default/servers/groups/group/settings/httpReverseProxy/index.go +++ b/internal/web/actions/default/servers/groups/group/settings/httpReverseProxy/index.go @@ -57,16 +57,17 @@ func (this *IndexAction) RunGet(params struct { originConfig.Domains = []string{} } var m = maps.Map{ - "id": originConfig.Id, - "weight": originConfig.Weight, - "addr": originConfig.AddrSummary(), - "isOSS": originConfig.IsOSS(), - "name": originConfig.Name, - "isOn": originConfig.IsOn, - "domains": originConfig.Domains, - "hasCert": originConfig.Cert != nil, - "host": originConfig.RequestHost, - "followPort": originConfig.FollowPort, + "id": originConfig.Id, + "weight": originConfig.Weight, + "addr": originConfig.AddrSummary(), + "isOSS": originConfig.IsOSS(), + "name": originConfig.Name, + "isOn": originConfig.IsOn, + "domains": originConfig.Domains, + "hasCert": originConfig.Cert != nil, + "host": originConfig.RequestHost, + "followPort": originConfig.FollowPort, + "http2Enabled": originConfig.HTTP2Enabled, } primaryOriginMaps = append(primaryOriginMaps, m) } @@ -75,16 +76,17 @@ func (this *IndexAction) RunGet(params struct { originConfig.Domains = []string{} } var m = maps.Map{ - "id": originConfig.Id, - "weight": originConfig.Weight, - "addr": originConfig.AddrSummary(), - "isOSS": originConfig.IsOSS(), - "name": originConfig.Name, - "isOn": originConfig.IsOn, - "domains": originConfig.Domains, - "hasCert": originConfig.Cert != nil, - "host": originConfig.RequestHost, - "followPort": originConfig.FollowPort, + "id": originConfig.Id, + "weight": originConfig.Weight, + "addr": originConfig.AddrSummary(), + "isOSS": originConfig.IsOSS(), + "name": originConfig.Name, + "isOn": originConfig.IsOn, + "domains": originConfig.Domains, + "hasCert": originConfig.Cert != nil, + "host": originConfig.RequestHost, + "followPort": originConfig.FollowPort, + "http2Enabled": originConfig.HTTP2Enabled, } backupOriginMaps = append(backupOriginMaps, m) } diff --git a/internal/web/actions/default/servers/groups/group/settings/tcpReverseProxy/index.go b/internal/web/actions/default/servers/groups/group/settings/tcpReverseProxy/index.go index 58f2de55..3d8423ce 100644 --- a/internal/web/actions/default/servers/groups/group/settings/tcpReverseProxy/index.go +++ b/internal/web/actions/default/servers/groups/group/settings/tcpReverseProxy/index.go @@ -57,16 +57,17 @@ func (this *IndexAction) RunGet(params struct { originConfig.Domains = []string{} } m := maps.Map{ - "id": originConfig.Id, - "weight": originConfig.Weight, - "addr": originConfig.AddrSummary(), - "isOSS": originConfig.IsOSS(), - "name": originConfig.Name, - "isOn": originConfig.IsOn, - "domains": originConfig.Domains, - "hasCert": originConfig.Cert != nil, - "host": originConfig.RequestHost, - "followPort": originConfig.FollowPort, + "id": originConfig.Id, + "weight": originConfig.Weight, + "addr": originConfig.AddrSummary(), + "isOSS": originConfig.IsOSS(), + "name": originConfig.Name, + "isOn": originConfig.IsOn, + "domains": originConfig.Domains, + "hasCert": originConfig.Cert != nil, + "host": originConfig.RequestHost, + "followPort": originConfig.FollowPort, + "http2Enabled": originConfig.HTTP2Enabled, } primaryOriginMaps = append(primaryOriginMaps, m) } @@ -75,16 +76,17 @@ func (this *IndexAction) RunGet(params struct { originConfig.Domains = []string{} } m := maps.Map{ - "id": originConfig.Id, - "weight": originConfig.Weight, - "addr": originConfig.AddrSummary(), - "isOSS": originConfig.IsOSS(), - "name": originConfig.Name, - "isOn": originConfig.IsOn, - "domains": originConfig.Domains, - "hasCert": originConfig.Cert != nil, - "host": originConfig.RequestHost, - "followPort": originConfig.FollowPort, + "id": originConfig.Id, + "weight": originConfig.Weight, + "addr": originConfig.AddrSummary(), + "isOSS": originConfig.IsOSS(), + "name": originConfig.Name, + "isOn": originConfig.IsOn, + "domains": originConfig.Domains, + "hasCert": originConfig.Cert != nil, + "host": originConfig.RequestHost, + "followPort": originConfig.FollowPort, + "http2Enabled": originConfig.HTTP2Enabled, } backupOriginMaps = append(backupOriginMaps, m) } diff --git a/internal/web/actions/default/servers/groups/group/settings/udpReverseProxy/index.go b/internal/web/actions/default/servers/groups/group/settings/udpReverseProxy/index.go index 08852416..05ae27dd 100644 --- a/internal/web/actions/default/servers/groups/group/settings/udpReverseProxy/index.go +++ b/internal/web/actions/default/servers/groups/group/settings/udpReverseProxy/index.go @@ -57,16 +57,17 @@ func (this *IndexAction) RunGet(params struct { originConfig.Domains = []string{} } var m = maps.Map{ - "id": originConfig.Id, - "weight": originConfig.Weight, - "addr": originConfig.AddrSummary(), - "isOSS": originConfig.IsOSS(), - "name": originConfig.Name, - "isOn": originConfig.IsOn, - "domains": originConfig.Domains, - "hasCert": originConfig.Cert != nil, - "host": originConfig.RequestHost, - "followPort": originConfig.FollowPort, + "id": originConfig.Id, + "weight": originConfig.Weight, + "addr": originConfig.AddrSummary(), + "isOSS": originConfig.IsOSS(), + "name": originConfig.Name, + "isOn": originConfig.IsOn, + "domains": originConfig.Domains, + "hasCert": originConfig.Cert != nil, + "host": originConfig.RequestHost, + "followPort": originConfig.FollowPort, + "http2Enabled": originConfig.HTTP2Enabled, } primaryOriginMaps = append(primaryOriginMaps, m) } @@ -75,16 +76,17 @@ func (this *IndexAction) RunGet(params struct { originConfig.Domains = []string{} } var m = maps.Map{ - "id": originConfig.Id, - "weight": originConfig.Weight, - "addr": originConfig.AddrSummary(), - "isOSS": originConfig.IsOSS(), - "name": originConfig.Name, - "isOn": originConfig.IsOn, - "domains": originConfig.Domains, - "hasCert": originConfig.Cert != nil, - "host": originConfig.RequestHost, - "followPort": originConfig.FollowPort, + "id": originConfig.Id, + "weight": originConfig.Weight, + "addr": originConfig.AddrSummary(), + "isOSS": originConfig.IsOSS(), + "name": originConfig.Name, + "isOn": originConfig.IsOn, + "domains": originConfig.Domains, + "hasCert": originConfig.Cert != nil, + "host": originConfig.RequestHost, + "followPort": originConfig.FollowPort, + "http2Enabled": originConfig.HTTP2Enabled, } backupOriginMaps = append(backupOriginMaps, m) } diff --git a/internal/web/actions/default/servers/server/settings/locations/reverseProxy/index.go b/internal/web/actions/default/servers/server/settings/locations/reverseProxy/index.go index 9869b6cc..3acd9d93 100644 --- a/internal/web/actions/default/servers/server/settings/locations/reverseProxy/index.go +++ b/internal/web/actions/default/servers/server/settings/locations/reverseProxy/index.go @@ -58,16 +58,17 @@ func (this *IndexAction) RunGet(params struct { originConfig.Domains = []string{} } var m = maps.Map{ - "id": originConfig.Id, - "weight": originConfig.Weight, - "addr": originConfig.AddrSummary(), - "isOSS": originConfig.IsOSS(), - "name": originConfig.Name, - "isOn": originConfig.IsOn, - "domains": originConfig.Domains, - "hasCert": originConfig.Cert != nil, - "host": originConfig.RequestHost, - "followPort": originConfig.FollowPort, + "id": originConfig.Id, + "weight": originConfig.Weight, + "addr": originConfig.AddrSummary(), + "isOSS": originConfig.IsOSS(), + "name": originConfig.Name, + "isOn": originConfig.IsOn, + "domains": originConfig.Domains, + "hasCert": originConfig.Cert != nil, + "host": originConfig.RequestHost, + "followPort": originConfig.FollowPort, + "http2Enabled": originConfig.HTTP2Enabled, } primaryOriginMaps = append(primaryOriginMaps, m) } @@ -76,16 +77,17 @@ func (this *IndexAction) RunGet(params struct { originConfig.Domains = []string{} } var m = maps.Map{ - "id": originConfig.Id, - "weight": originConfig.Weight, - "addr": originConfig.AddrSummary(), - "isOSS": originConfig.IsOSS(), - "name": originConfig.Name, - "isOn": originConfig.IsOn, - "domains": originConfig.Domains, - "hasCert": originConfig.Cert != nil, - "host": originConfig.RequestHost, - "followPort": originConfig.FollowPort, + "id": originConfig.Id, + "weight": originConfig.Weight, + "addr": originConfig.AddrSummary(), + "isOSS": originConfig.IsOSS(), + "name": originConfig.Name, + "isOn": originConfig.IsOn, + "domains": originConfig.Domains, + "hasCert": originConfig.Cert != nil, + "host": originConfig.RequestHost, + "followPort": originConfig.FollowPort, + "http2Enabled": originConfig.HTTP2Enabled, } backupOriginMaps = append(backupOriginMaps, m) } diff --git a/internal/web/actions/default/servers/server/settings/origins/addPopup.go b/internal/web/actions/default/servers/server/settings/origins/addPopup.go index 39de7216..68828fa6 100644 --- a/internal/web/actions/default/servers/server/settings/origins/addPopup.go +++ b/internal/web/actions/default/servers/server/settings/origins/addPopup.go @@ -70,9 +70,10 @@ func (this *AddPopupAction) RunPost(params struct { CertIdsJSON []byte - DomainsJSON []byte - Host string - FollowPort bool + DomainsJSON []byte + Host string + FollowPort bool + Http2Enabled bool Description string IsOn bool @@ -248,6 +249,7 @@ func (this *AddPopupAction) RunPost(params struct { Domains: domains, Host: params.Host, FollowPort: params.FollowPort, + Http2Enabled: params.Http2Enabled, }) if err != nil { this.ErrorPage(err) diff --git a/internal/web/actions/default/servers/server/settings/origins/updatePopup.go b/internal/web/actions/default/servers/server/settings/origins/updatePopup.go index 3844e149..cbb6a5dd 100644 --- a/internal/web/actions/default/servers/server/settings/origins/updatePopup.go +++ b/internal/web/actions/default/servers/server/settings/origins/updatePopup.go @@ -115,6 +115,7 @@ func (this *UpdatePopupAction) RunGet(params struct { "domains": config.Domains, "host": config.RequestHost, "followPort": config.FollowPort, + "http2Enabled": config.HTTP2Enabled, "oss": config.OSS, } @@ -142,9 +143,10 @@ func (this *UpdatePopupAction) RunPost(params struct { CertIdsJSON []byte - DomainsJSON []byte - Host string - FollowPort bool + DomainsJSON []byte + Host string + FollowPort bool + Http2Enabled bool Description string IsOn bool @@ -323,6 +325,7 @@ func (this *UpdatePopupAction) RunPost(params struct { Domains: domains, Host: params.Host, FollowPort: params.FollowPort, + Http2Enabled: params.Http2Enabled, }) if err != nil { this.ErrorPage(err) diff --git a/internal/web/actions/default/servers/server/settings/reverseProxy/index.go b/internal/web/actions/default/servers/server/settings/reverseProxy/index.go index 25235690..8f733edb 100644 --- a/internal/web/actions/default/servers/server/settings/reverseProxy/index.go +++ b/internal/web/actions/default/servers/server/settings/reverseProxy/index.go @@ -85,16 +85,17 @@ func (this *IndexAction) RunGet(params struct { originConfig.Domains = []string{} } var m = maps.Map{ - "id": originConfig.Id, - "weight": originConfig.Weight, - "addr": originConfig.AddrSummary(), - "isOSS": originConfig.IsOSS(), - "name": originConfig.Name, - "isOn": originConfig.IsOn, - "domains": originConfig.Domains, - "hasCert": originConfig.Cert != nil, - "host": originConfig.RequestHost, - "followPort": originConfig.FollowPort, + "id": originConfig.Id, + "weight": originConfig.Weight, + "addr": originConfig.AddrSummary(), + "isOSS": originConfig.IsOSS(), + "name": originConfig.Name, + "isOn": originConfig.IsOn, + "domains": originConfig.Domains, + "hasCert": originConfig.Cert != nil, + "host": originConfig.RequestHost, + "followPort": originConfig.FollowPort, + "http2Enabled": originConfig.HTTP2Enabled, } primaryOriginMaps = append(primaryOriginMaps, m) } @@ -103,16 +104,17 @@ func (this *IndexAction) RunGet(params struct { originConfig.Domains = []string{} } var m = maps.Map{ - "id": originConfig.Id, - "weight": originConfig.Weight, - "addr": originConfig.AddrSummary(), - "isOSS": originConfig.IsOSS(), - "name": originConfig.Name, - "isOn": originConfig.IsOn, - "domains": originConfig.Domains, - "hasCert": originConfig.Cert != nil, - "host": originConfig.RequestHost, - "followPort": originConfig.FollowPort, + "id": originConfig.Id, + "weight": originConfig.Weight, + "addr": originConfig.AddrSummary(), + "isOSS": originConfig.IsOSS(), + "name": originConfig.Name, + "isOn": originConfig.IsOn, + "domains": originConfig.Domains, + "hasCert": originConfig.Cert != nil, + "host": originConfig.RequestHost, + "followPort": originConfig.FollowPort, + "http2Enabled": originConfig.HTTP2Enabled, } backupOriginMaps = append(backupOriginMaps, m) } diff --git a/web/public/js/components/server/origin-list-box.js b/web/public/js/components/server/origin-list-box.js index 714b5690..130fb14b 100644 --- a/web/public/js/components/server/origin-list-box.js +++ b/web/public/js/components/server/origin-list-box.js @@ -109,6 +109,7 @@ Vue.component("origin-list-table", { 证书 主机名: {{origin.host}} 端口跟随 + HTTP/2 匹配: {{domain}} 匹配: 所有域名 diff --git a/web/views/@default/servers/addOriginPopup.html b/web/views/@default/servers/addOriginPopup.html index 11e84b9b..99caa0d6 100644 --- a/web/views/@default/servers/addOriginPopup.html +++ b/web/views/@default/servers/addOriginPopup.html @@ -70,7 +70,14 @@ 端口跟随 -

选中后表示源站的端口保持和用户访问的服务端口保持一致;此时的源站地址中的端口号可以任意填写。

+

选中后,表示源站的端口保持和用户访问的服务端口保持一致;此时的源站地址中的端口号可以任意填写。

+ + + + 支持HTTP/2 + + +

选中后,表示源站支持HTTP/2协议。

diff --git a/web/views/@default/servers/server/settings/origins/addPopup.html b/web/views/@default/servers/server/settings/origins/addPopup.html index 2b8eac84..27ff5744 100644 --- a/web/views/@default/servers/server/settings/origins/addPopup.html +++ b/web/views/@default/servers/server/settings/origins/addPopup.html @@ -76,6 +76,13 @@

选中后表示源站的端口保持和用户访问的服务端口保持一致;此时的源站地址中的端口号可以任意填写。

+ + 支持HTTP/2 + + +

选中后,表示源站支持HTTP/2协议。

+ + 权重 diff --git a/web/views/@default/servers/server/settings/origins/updatePopup.html b/web/views/@default/servers/server/settings/origins/updatePopup.html index b6769bd1..f2907979 100644 --- a/web/views/@default/servers/server/settings/origins/updatePopup.html +++ b/web/views/@default/servers/server/settings/origins/updatePopup.html @@ -77,6 +77,13 @@

选中后表示源站的端口保持和用户访问的服务端口保持一致;此时的源站地址中的端口号可以任意填写。

+ + 支持HTTP/2 + + +

选中后,表示源站支持HTTP/2协议。

+ + 权重