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 7eab3d3c..37993fbe 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 @@ -64,6 +64,7 @@ func (this *IndexAction) RunGet(params struct { "isOn": originConfig.IsOn, "domains": originConfig.Domains, "hasCert": originConfig.Cert != nil, + "host": originConfig.RequestHost, } primaryOriginMaps = append(primaryOriginMaps, m) } @@ -79,6 +80,7 @@ func (this *IndexAction) RunGet(params struct { "isOn": originConfig.IsOn, "domains": originConfig.Domains, "hasCert": originConfig.Cert != nil, + "host": originConfig.RequestHost, } 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 1cdda3d4..e25a64dd 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 @@ -64,6 +64,7 @@ func (this *IndexAction) RunGet(params struct { "isOn": originConfig.IsOn, "domains": originConfig.Domains, "hasCert": originConfig.Cert != nil, + "host": originConfig.RequestHost, } primaryOriginMaps = append(primaryOriginMaps, m) } @@ -79,6 +80,7 @@ func (this *IndexAction) RunGet(params struct { "isOn": originConfig.IsOn, "domains": originConfig.Domains, "hasCert": originConfig.Cert != nil, + "host": originConfig.RequestHost, } 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 4052ce65..d32481fc 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 @@ -64,6 +64,7 @@ func (this *IndexAction) RunGet(params struct { "isOn": originConfig.IsOn, "domains": originConfig.Domains, "hasCert": originConfig.Cert != nil, + "host": originConfig.RequestHost, } primaryOriginMaps = append(primaryOriginMaps, m) } @@ -79,6 +80,7 @@ func (this *IndexAction) RunGet(params struct { "isOn": originConfig.IsOn, "domains": originConfig.Domains, "hasCert": originConfig.Cert != nil, + "host": originConfig.RequestHost, } 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 a8eb84eb..22e9ffe7 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 @@ -65,6 +65,7 @@ func (this *IndexAction) RunGet(params struct { "isOn": originConfig.IsOn, "domains": originConfig.Domains, "hasCert": originConfig.Cert != nil, + "host": originConfig.RequestHost, } primaryOriginMaps = append(primaryOriginMaps, m) } @@ -80,6 +81,7 @@ func (this *IndexAction) RunGet(params struct { "isOn": originConfig.IsOn, "domains": originConfig.Domains, "hasCert": originConfig.Cert != nil, + "host": originConfig.RequestHost, } 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 54e263dd..18ce7296 100644 --- a/internal/web/actions/default/servers/server/settings/origins/addPopup.go +++ b/internal/web/actions/default/servers/server/settings/origins/addPopup.go @@ -66,6 +66,7 @@ func (this *AddPopupAction) RunPost(params struct { CertIdsJSON []byte DomainsJSON []byte + Host string Description string IsOn bool @@ -157,6 +158,7 @@ func (this *AddPopupAction) RunPost(params struct { } } + // 专属域名 var domains = []string{} if len(params.DomainsJSON) > 0 { err = json.Unmarshal(params.DomainsJSON, &domains) @@ -188,6 +190,7 @@ func (this *AddPopupAction) RunPost(params struct { MaxIdleConns: params.MaxIdleConns, CertRefJSON: certRefJSON, Domains: domains, + Host: params.Host, }) 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 eb3bec75..fdc54c7f 100644 --- a/internal/web/actions/default/servers/server/settings/origins/updatePopup.go +++ b/internal/web/actions/default/servers/server/settings/origins/updatePopup.go @@ -60,17 +60,17 @@ func (this *UpdatePopupAction) RunGet(params struct { this.ErrorPage(err) return } - configData := originResp.OriginJSON - config := &serverconfigs.OriginConfig{} + var configData = originResp.OriginJSON + var config = &serverconfigs.OriginConfig{} err = json.Unmarshal(configData, config) if err != nil { this.ErrorPage(err) return } - connTimeout := 0 - readTimeout := 0 - idleTimeout := 0 + var connTimeout = 0 + var readTimeout = 0 + var idleTimeout = 0 if config.ConnTimeout != nil { connTimeout = types.Int(config.ConnTimeout.Count) } @@ -108,6 +108,7 @@ func (this *UpdatePopupAction) RunGet(params struct { "maxIdleConns": config.MaxIdleConns, "cert": config.Cert, "domains": config.Domains, + "host": config.RequestHost, } this.Show() @@ -130,7 +131,9 @@ func (this *UpdatePopupAction) RunPost(params struct { IdleTimeout int CertIdsJSON []byte + DomainsJSON []byte + Host string Description string IsOn bool @@ -164,8 +167,8 @@ func (this *UpdatePopupAction) RunPost(params struct { } portIndex = strings.LastIndex(addr, ":") } - host := addr[:portIndex] - port := addr[portIndex+1:] + var host = addr[:portIndex] + var port = addr[portIndex+1:] if port == "0" { this.Fail("端口号不能为0") } @@ -222,6 +225,7 @@ func (this *UpdatePopupAction) RunPost(params struct { } } + // 专属域名 var domains = []string{} if len(params.DomainsJSON) > 0 { err = json.Unmarshal(params.DomainsJSON, &domains) @@ -254,6 +258,7 @@ func (this *UpdatePopupAction) RunPost(params struct { MaxIdleConns: params.MaxIdleConns, CertRefJSON: certRefJSON, Domains: domains, + Host: params.Host, }) 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 4b828da9..e22eb30a 100644 --- a/internal/web/actions/default/servers/server/settings/reverseProxy/index.go +++ b/internal/web/actions/default/servers/server/settings/reverseProxy/index.go @@ -92,6 +92,7 @@ func (this *IndexAction) RunGet(params struct { "isOn": originConfig.IsOn, "domains": originConfig.Domains, "hasCert": originConfig.Cert != nil, + "host": originConfig.RequestHost, } primaryOriginMaps = append(primaryOriginMaps, m) } @@ -107,6 +108,7 @@ func (this *IndexAction) RunGet(params struct { "isOn": originConfig.IsOn, "domains": originConfig.Domains, "hasCert": originConfig.Cert != nil, + "host": originConfig.RequestHost, } 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 aa4067c2..caeb2e83 100644 --- a/web/public/js/components/server/origin-list-box.js +++ b/web/public/js/components/server/origin-list-box.js @@ -86,14 +86,11 @@ Vue.component("origin-list-table", { {{origin.addr}}   -
- {{origin.name}} -
-
- {{domain}} -
-
- 证书 +
+ {{origin.name}} + 证书 + 主机名: {{origin.host}} + 匹配: {{domain}}
{{origin.weight}} diff --git a/web/views/@default/servers/server/settings/origins/addPopup.html b/web/views/@default/servers/server/settings/origins/addPopup.html index d4bd58c8..042fec3b 100644 --- a/web/views/@default/servers/server/settings/origins/addPopup.html +++ b/web/views/@default/servers/server/settings/origins/addPopup.html @@ -45,6 +45,13 @@ + + 回源主机名 + + +

请求源站时的Host,用于修改源站接收到的域名,自定义Host内容中支持请求变量。

+ + 专属域名 diff --git a/web/views/@default/servers/server/settings/origins/updatePopup.html b/web/views/@default/servers/server/settings/origins/updatePopup.html index a10ee450..f3700ca3 100644 --- a/web/views/@default/servers/server/settings/origins/updatePopup.html +++ b/web/views/@default/servers/server/settings/origins/updatePopup.html @@ -46,6 +46,13 @@ + + 回源主机名 + + +

请求源站时的Host,用于修改源站接收到的域名,自定义Host内容中支持请求变量。

+ + 专属域名