源站支持HTTP/2

This commit is contained in:
GoEdgeLab
2023-06-23 11:43:36 +08:00
parent d1c8f995ce
commit cad128451c
12 changed files with 158 additions and 119 deletions

View File

@@ -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)

View File

@@ -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)
}

View File

@@ -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)
}

View File

@@ -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)
}

View File

@@ -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)
}

View File

@@ -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)

View File

@@ -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)

View File

@@ -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)
}

View File

@@ -109,6 +109,7 @@ Vue.component("origin-list-table", {
<tiny-basic-label v-if="origin.hasCert">证书</tiny-basic-label>
<tiny-basic-label v-if="origin.host != null && origin.host.length > 0">主机名: {{origin.host}}</tiny-basic-label>
<tiny-basic-label v-if="origin.followPort">端口跟随</tiny-basic-label>
<tiny-basic-label v-if="origin.addr != null && origin.addr.startsWith('https://') && origin.http2Enabled">HTTP/2</tiny-basic-label>
<span v-if="origin.domains != null && origin.domains.length > 0"><tiny-basic-label v-for="domain in origin.domains">匹配: {{domain}}</tiny-basic-label></span>
<span v-else-if="hasMatchedDomains"><tiny-basic-label>匹配: 所有域名</tiny-basic-label></span>

View File

@@ -70,7 +70,14 @@
<td>端口跟随</td>
<td>
<checkbox name="followPort"></checkbox>
<p class="comment">选中后表示源站的端口保持和用户访问的服务端口保持一致;此时的源站地址中的端口号可以任意填写。</p>
<p class="comment">选中后表示源站的端口保持和用户访问的服务端口保持一致;此时的源站地址中的端口号可以任意填写。</p>
</td>
</tr>
<tr v-show="!isOSS && protocol == 'https'">
<td>支持HTTP/2</td>
<td>
<checkbox name="http2Enabled"></checkbox>
<p class="comment">选中后表示源站支持HTTP/2协议。</p>
</td>
</tr>
</tbody>

View File

@@ -76,6 +76,13 @@
<p class="comment">选中后表示源站的端口保持和用户访问的服务端口保持一致;此时的源站地址中的端口号可以任意填写。</p>
</td>
</tr>
<tr v-show="!isOSS && protocol == 'https'">
<td>支持HTTP/2</td>
<td>
<checkbox name="http2Enabled"></checkbox>
<p class="comment">选中后表示源站支持HTTP/2协议。</p>
</td>
</tr>
<tr>
<td>权重</td>
<td>

View File

@@ -77,6 +77,13 @@
<p class="comment">选中后表示源站的端口保持和用户访问的服务端口保持一致;此时的源站地址中的端口号可以任意填写。</p>
</td>
</tr>
<tr v-show="!isOSS && origin.protocol == 'https'">
<td>支持HTTP/2</td>
<td>
<checkbox name="http2Enabled" v-model="origin.http2Enabled"></checkbox>
<p class="comment">选中后表示源站支持HTTP/2协议。</p>
</td>
</tr>
<tr>
<td>权重</td>
<td>