From 09763d4d6031b2bda725d0b4e41a790894e3d507 Mon Sep 17 00:00:00 2001 From: GoEdgeLab Date: Sun, 27 Sep 2020 10:03:00 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8F=8D=E5=90=91=E4=BB=A3=E7=90=86=E6=94=AF?= =?UTF-8?q?=E6=8C=81RequestPath=E3=80=81RequestURI=E7=AD=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../settings/locations/reverseProxy/index.go | 25 +----- .../settings/locations/reverseProxy/init.go | 3 +- .../locations/reverseProxy/setting.go | 82 +++++++++++++++++++ .../server/settings/reverseProxy/index.go | 25 +----- .../server/settings/reverseProxy/init.go | 4 +- .../server/settings/reverseProxy/setting.go | 82 +++++++++++++++++++ .../server/settings/reverseProxy/updateOn.go | 68 --------------- .../js/components/server/http-web-root-box.js | 3 +- .../components/server/http-websocket-box.js | 8 +- .../js/components/server/origin-list-box.js | 2 +- .../js/components/server/reverse-proxy-box.js | 48 ++++++++++- .../locations/reverseProxy/@menu.html | 1 + .../locations/reverseProxy/index.html | 18 ++-- .../locations/reverseProxy/setting.html | 20 +++++ .../locations/reverseProxy/setting.js | 3 + .../server/settings/reverseProxy/@menu.html | 1 + .../server/settings/reverseProxy/index.html | 19 ++--- .../server/settings/reverseProxy/index.js | 17 ---- .../server/settings/reverseProxy/setting.html | 14 ++++ .../server/settings/reverseProxy/setting.js | 3 + 20 files changed, 281 insertions(+), 165 deletions(-) create mode 100644 internal/web/actions/default/servers/server/settings/locations/reverseProxy/setting.go create mode 100644 internal/web/actions/default/servers/server/settings/reverseProxy/setting.go delete mode 100644 internal/web/actions/default/servers/server/settings/reverseProxy/updateOn.go create mode 100644 web/views/@default/servers/server/settings/locations/reverseProxy/setting.html create mode 100644 web/views/@default/servers/server/settings/locations/reverseProxy/setting.js delete mode 100644 web/views/@default/servers/server/settings/reverseProxy/index.js create mode 100644 web/views/@default/servers/server/settings/reverseProxy/setting.html create mode 100644 web/views/@default/servers/server/settings/reverseProxy/setting.js 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 a07fa732..1f4966ac 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 @@ -5,7 +5,6 @@ import ( "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/actionutils" "github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb" "github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs" - "github.com/iwind/TeaGo/actions" "github.com/iwind/TeaGo/maps" ) @@ -40,6 +39,7 @@ func (this *IndexAction) RunGet(params struct { this.ErrorPage(err) return } + this.Data["reverseProxyRef"] = reverseProxyRef reverseProxy := &serverconfigs.ReverseProxyConfig{} err = json.Unmarshal(reverseProxyResp.ReverseProxyJSON, reverseProxy) @@ -47,10 +47,9 @@ func (this *IndexAction) RunGet(params struct { this.ErrorPage(err) return } + this.Data["reverseProxyConfig"] = reverseProxy this.Data["serverType"] = serverType - this.Data["reverseProxyRef"] = reverseProxyRef - this.Data["reverseProxyConfig"] = reverseProxy primaryOriginMaps := []maps.Map{} backupOriginMaps := []maps.Map{} @@ -75,23 +74,3 @@ func (this *IndexAction) RunGet(params struct { this.Show() } - -func (this *IndexAction) RunPost(params struct { - LocationId int64 - ReverseProxyRefJSON []byte - - Must *actions.Must -}) { - // TODO 校验配置 - - _, err := this.RPC().HTTPLocationRPC().UpdateHTTPLocationReverseProxy(this.AdminContext(), &pb.UpdateHTTPLocationReverseProxyRequest{ - LocationId: params.LocationId, - ReverseProxyJSON: params.ReverseProxyRefJSON, - }) - if err != nil { - this.ErrorPage(err) - return - } - - this.Success() -} diff --git a/internal/web/actions/default/servers/server/settings/locations/reverseProxy/init.go b/internal/web/actions/default/servers/server/settings/locations/reverseProxy/init.go index f829718f..f7ba5a63 100644 --- a/internal/web/actions/default/servers/server/settings/locations/reverseProxy/init.go +++ b/internal/web/actions/default/servers/server/settings/locations/reverseProxy/init.go @@ -16,8 +16,9 @@ func init() { Data("mainTab", "setting"). Data("tinyMenuItem", "reverseProxy"). Prefix("/servers/server/settings/locations/reverseProxy"). - GetPost("", new(IndexAction)). + Get("", new(IndexAction)). GetPost("/scheduling", new(SchedulingAction)). + GetPost("/setting", new(SettingAction)). EndAll() }) } diff --git a/internal/web/actions/default/servers/server/settings/locations/reverseProxy/setting.go b/internal/web/actions/default/servers/server/settings/locations/reverseProxy/setting.go new file mode 100644 index 00000000..c327b28d --- /dev/null +++ b/internal/web/actions/default/servers/server/settings/locations/reverseProxy/setting.go @@ -0,0 +1,82 @@ +package reverseProxy + +import ( + "encoding/json" + "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/actionutils" + "github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb" + "github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs" + "github.com/iwind/TeaGo/actions" +) + +type SettingAction struct { + actionutils.ParentAction +} + +func (this *SettingAction) Init() { + this.FirstMenu("setting") +} + +func (this *SettingAction) RunGet(params struct { + LocationId int64 +}) { + reverseProxyResp, err := this.RPC().HTTPLocationRPC().FindAndInitHTTPLocationReverseProxyConfig(this.AdminContext(), &pb.FindAndInitHTTPLocationReverseProxyConfigRequest{LocationId: params.LocationId}) + if err != nil { + this.ErrorPage(err) + return + } + reverseProxyRef := &serverconfigs.ReverseProxyRef{} + err = json.Unmarshal(reverseProxyResp.ReverseProxyRefJSON, reverseProxyRef) + if err != nil { + this.ErrorPage(err) + return + } + + reverseProxy := &serverconfigs.ReverseProxyConfig{} + err = json.Unmarshal(reverseProxyResp.ReverseProxyJSON, reverseProxy) + if err != nil { + this.ErrorPage(err) + return + } + + this.Data["reverseProxyRef"] = reverseProxyRef + this.Data["reverseProxyConfig"] = reverseProxy + + this.Show() +} + +func (this *SettingAction) RunPost(params struct { + LocationId int64 + ReverseProxyRefJSON []byte + ReverseProxyJSON []byte + + Must *actions.Must +}) { + // TODO 校验配置 + + reverseProxyConfig := &serverconfigs.ReverseProxyConfig{} + err := json.Unmarshal(params.ReverseProxyJSON, reverseProxyConfig) + if err != nil { + this.ErrorPage(err) + return + } + + // 设置是否启用 + _, err = this.RPC().HTTPLocationRPC().UpdateHTTPLocationReverseProxy(this.AdminContext(), &pb.UpdateHTTPLocationReverseProxyRequest{ + LocationId: params.LocationId, + ReverseProxyJSON: params.ReverseProxyRefJSON, + }) + if err != nil { + this.ErrorPage(err) + return + } + + // 设置反向代理相关信息 + _, err = this.RPC().ReverseProxyRPC().UpdateReverseProxy(this.AdminContext(), &pb.UpdateReverseProxyRequest{ + ReverseProxyId: reverseProxyConfig.Id, + RequestHost: reverseProxyConfig.RequestHost, + RequestURI: reverseProxyConfig.RequestURI, + StripPrefix: reverseProxyConfig.StripPrefix, + }) + + this.Success() +} 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 6f10d6ec..e4960b67 100644 --- a/internal/web/actions/default/servers/server/settings/reverseProxy/index.go +++ b/internal/web/actions/default/servers/server/settings/reverseProxy/index.go @@ -5,7 +5,6 @@ import ( "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/actionutils" "github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb" "github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs" - "github.com/iwind/TeaGo/actions" "github.com/iwind/TeaGo/maps" ) @@ -39,6 +38,7 @@ func (this *IndexAction) RunGet(params struct { this.ErrorPage(err) return } + this.Data["reverseProxyRef"] = reverseProxyRef reverseProxy := &serverconfigs.ReverseProxyConfig{} err = json.Unmarshal(reverseProxyResp.ReverseProxyJSON, reverseProxy) @@ -46,10 +46,9 @@ func (this *IndexAction) RunGet(params struct { this.ErrorPage(err) return } + this.Data["reverseProxyConfig"] = reverseProxy this.Data["serverType"] = serverType - this.Data["reverseProxyRef"] = reverseProxyRef - this.Data["reverseProxyConfig"] = reverseProxy primaryOriginMaps := []maps.Map{} backupOriginMaps := []maps.Map{} @@ -74,23 +73,3 @@ func (this *IndexAction) RunGet(params struct { this.Show() } - -func (this *IndexAction) RunPost(params struct { - ServerId int64 - ReverseProxyRefJSON []byte - - Must *actions.Must -}) { - // TODO 校验配置 - - _, err := this.RPC().ServerRPC().UpdateServerReverseProxy(this.AdminContext(), &pb.UpdateServerReverseProxyRequest{ - ServerId: params.ServerId, - ReverseProxyJSON: params.ReverseProxyRefJSON, - }) - if err != nil { - this.ErrorPage(err) - return - } - - this.Success() -} diff --git a/internal/web/actions/default/servers/server/settings/reverseProxy/init.go b/internal/web/actions/default/servers/server/settings/reverseProxy/init.go index 70e46b4c..0cea5f0a 100644 --- a/internal/web/actions/default/servers/server/settings/reverseProxy/init.go +++ b/internal/web/actions/default/servers/server/settings/reverseProxy/init.go @@ -14,10 +14,10 @@ func init() { Data("mainTab", "setting"). Data("secondMenuItem", "reverseProxy"). Prefix("/servers/server/settings/reverseProxy"). - GetPost("", new(IndexAction)). + Get("", new(IndexAction)). GetPost("/scheduling", new(SchedulingAction)). GetPost("/updateSchedulingPopup", new(UpdateSchedulingPopupAction)). - Post("/updateOn", new(UpdateOnAction)). + GetPost("/setting", new(SettingAction)). EndAll() }) } diff --git a/internal/web/actions/default/servers/server/settings/reverseProxy/setting.go b/internal/web/actions/default/servers/server/settings/reverseProxy/setting.go new file mode 100644 index 00000000..bf845798 --- /dev/null +++ b/internal/web/actions/default/servers/server/settings/reverseProxy/setting.go @@ -0,0 +1,82 @@ +package reverseProxy + +import ( + "encoding/json" + "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/actionutils" + "github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb" + "github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs" + "github.com/iwind/TeaGo/actions" +) + +type SettingAction struct { + actionutils.ParentAction +} + +func (this *SettingAction) Init() { + this.FirstMenu("setting") +} + +func (this *SettingAction) RunGet(params struct { + ServerId int64 +}) { + reverseProxyResp, err := this.RPC().ServerRPC().FindAndInitServerReverseProxyConfig(this.AdminContext(), &pb.FindAndInitServerReverseProxyConfigRequest{ServerId: params.ServerId}) + if err != nil { + this.ErrorPage(err) + return + } + reverseProxyRef := &serverconfigs.ReverseProxyRef{} + err = json.Unmarshal(reverseProxyResp.ReverseProxyRefJSON, reverseProxyRef) + if err != nil { + this.ErrorPage(err) + return + } + + reverseProxy := &serverconfigs.ReverseProxyConfig{} + err = json.Unmarshal(reverseProxyResp.ReverseProxyJSON, reverseProxy) + if err != nil { + this.ErrorPage(err) + return + } + + this.Data["reverseProxyRef"] = reverseProxyRef + this.Data["reverseProxyConfig"] = reverseProxy + + this.Show() +} + +func (this *SettingAction) RunPost(params struct { + ServerId int64 + ReverseProxyRefJSON []byte + ReverseProxyJSON []byte + + Must *actions.Must +}) { + // TODO 校验配置 + + reverseProxyConfig := &serverconfigs.ReverseProxyConfig{} + err := json.Unmarshal(params.ReverseProxyJSON, reverseProxyConfig) + if err != nil { + this.ErrorPage(err) + return + } + + // 设置是否启用 + _, err = this.RPC().ServerRPC().UpdateServerReverseProxy(this.AdminContext(), &pb.UpdateServerReverseProxyRequest{ + ServerId: params.ServerId, + ReverseProxyJSON: params.ReverseProxyRefJSON, + }) + if err != nil { + this.ErrorPage(err) + return + } + + // 设置反向代理相关信息 + _, err = this.RPC().ReverseProxyRPC().UpdateReverseProxy(this.AdminContext(), &pb.UpdateReverseProxyRequest{ + ReverseProxyId: reverseProxyConfig.Id, + RequestHost: reverseProxyConfig.RequestHost, + RequestURI: reverseProxyConfig.RequestURI, + StripPrefix: reverseProxyConfig.StripPrefix, + }) + + this.Success() +} diff --git a/internal/web/actions/default/servers/server/settings/reverseProxy/updateOn.go b/internal/web/actions/default/servers/server/settings/reverseProxy/updateOn.go deleted file mode 100644 index 008572ea..00000000 --- a/internal/web/actions/default/servers/server/settings/reverseProxy/updateOn.go +++ /dev/null @@ -1,68 +0,0 @@ -package reverseProxy - -import ( - "encoding/json" - "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/actionutils" - "github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb" - "github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs" -) - -type UpdateOnAction struct { - actionutils.ParentAction -} - -func (this *UpdateOnAction) RunPost(params struct { - ServerId int64 - ReverseProxyId int64 - IsOn bool -}) { - // 如果没有配置过,则配置 - if params.ReverseProxyId <= 0 { - if !params.IsOn { - this.Success() - } - - resp, err := this.RPC().ReverseProxyRPC().CreateReverseProxy(this.AdminContext(), &pb.CreateReverseProxyRequest{ - SchedulingJSON: nil, - PrimaryOriginsJSON: nil, - BackupOriginsJSON: nil, - }) - if err != nil { - this.ErrorPage(err) - return - } - - reverseProxyId := resp.ReverseProxyId - ref := &serverconfigs.ReverseProxyRef{ - IsOn: true, - ReverseProxyId: reverseProxyId, - } - refJSON, err := json.Marshal(ref) - if err != nil { - this.ErrorPage(err) - return - } - - _, err = this.RPC().ServerRPC().UpdateServerReverseProxy(this.AdminContext(), &pb.UpdateServerReverseProxyRequest{ - ServerId: params.ServerId, - ReverseProxyJSON: refJSON, - }) - if err != nil { - this.ErrorPage(err) - return - } - this.Success() - } - - // 如果已经配置过 - _, err := this.RPC().ReverseProxyRPC().UpdateReverseProxyIsOn(this.AdminContext(), &pb.UpdateReverseProxyIsOnRequest{ - ReverseProxyId: params.ReverseProxyId, - IsOn: params.IsOn, - }) - if err != nil { - this.ErrorPage(err) - return - } - - this.Success() -} diff --git a/web/public/js/components/server/http-web-root-box.js b/web/public/js/components/server/http-web-root-box.js index adca7903..0862f713 100644 --- a/web/public/js/components/server/http-web-root-box.js +++ b/web/public/js/components/server/http-web-root-box.js @@ -42,6 +42,7 @@ Vue.component("http-web-root-box", { } }, template: `
+

在这里可以设置如何分发静态文件资源。

@@ -86,7 +87,7 @@ Vue.component("http-web-root-box", { diff --git a/web/public/js/components/server/http-websocket-box.js b/web/public/js/components/server/http-websocket-box.js index b2913fda..ef6591a5 100644 --- a/web/public/js/components/server/http-websocket-box.js +++ b/web/public/js/components/server/http-websocket-box.js @@ -91,7 +91,7 @@ Vue.component("http-websocket-box", { - + - + - + - +
去除URL前缀 -

可以把请求的路径部分前缀去除后再查找文件,比如把 /web/app/index.html 去除前缀 /web 后就变成 /app/index.html

+

可以把请求的路径部分前缀去除后再查找文件,比如把 /web/app/index.html 去除前缀 /web 后就变成 /app/index.html

允许所有来源域(Origin)允许所有来源域(Origin)
@@ -103,7 +103,7 @@ Vue.component("http-websocket-box", {
允许的来源域列表(Origin)允许的来源域列表(Origin)
@@ -119,7 +119,7 @@ Vue.component("http-websocket-box", {
是否传递请求来源域是否传递请求来源域
@@ -131,7 +131,7 @@ Vue.component("http-websocket-box", {
指定传递的来源域指定传递的来源域

指定向源站传递的Origin字段值。

diff --git a/web/public/js/components/server/origin-list-box.js b/web/public/js/components/server/origin-list-box.js index 659e3610..57ed9bc3 100644 --- a/web/public/js/components/server/origin-list-box.js +++ b/web/public/js/components/server/origin-list-box.js @@ -41,7 +41,7 @@ Vue.component("origin-list-box", { }, template: `

主要源站 [添加主要源站]

-

暂时还没有优先源站。

+

暂时还没有主要源站。

备用源站 [添加备用源站]

diff --git a/web/public/js/components/server/reverse-proxy-box.js b/web/public/js/components/server/reverse-proxy-box.js index bcb9fbc0..cb04df1d 100644 --- a/web/public/js/components/server/reverse-proxy-box.js +++ b/web/public/js/components/server/reverse-proxy-box.js @@ -1,5 +1,5 @@ Vue.component("reverse-proxy-box", { - props: ["v-reverse-proxy-ref", "v-is-location"], + props: ["v-reverse-proxy-ref", "v-reverse-proxy-config", "v-is-location"], data: function () { let reverseProxyRef = this.vReverseProxyRef if (reverseProxyRef == null) { @@ -9,12 +9,32 @@ Vue.component("reverse-proxy-box", { reverseProxyId: 0 } } + + let reverseProxyConfig = this.vReverseProxyConfig + if (reverseProxyConfig == null) { + reverseProxyConfig = { + requestPath: "", + stripPrefix: "", + requestURI: "" + } + } return { - reverseProxyRef: reverseProxyRef + reverseProxyRef: reverseProxyRef, + reverseProxyConfig: reverseProxyConfig, + advancedVisible: false + } + }, + methods: { + isOn: function () { + return (!this.vIsLocation || this.reverseProxyRef.isPrior) && this.reverseProxyRef.isOn + }, + changeAdvancedVisible: function (v) { + this.advancedVisible = v } }, template: `
+ @@ -28,6 +48,30 @@ Vue.component("reverse-proxy-box", { + + + + + + + + + + + + + + +
请求主机名(Host) + +

请求后端服务器时的Host,用于修改后端服务器接收到的域名,默认和客户端请求的主机名一致,通常不必填写,支持请求变量。

+
请求URI + +

\${requestURI}为完整的请求URI,可以使用类似于"\${requestURI}?arg1=value1&arg2=value2"的形式添加你的参数。

+
去除URL前缀 + +

可以把请求的路径部分前缀去除后再查找文件,比如把 /web/app/index.html 去除前缀 /web 后就变成 /app/index.html

+
` diff --git a/web/views/@default/servers/server/settings/locations/reverseProxy/@menu.html b/web/views/@default/servers/server/settings/locations/reverseProxy/@menu.html index 36173cbc..1433da1e 100644 --- a/web/views/@default/servers/server/settings/locations/reverseProxy/@menu.html +++ b/web/views/@default/servers/server/settings/locations/reverseProxy/@menu.html @@ -1,4 +1,5 @@ 源站列表 调度算法 + 更多设置 \ 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 b4a646cf..2cb8302e 100644 --- a/web/views/@default/servers/server/settings/locations/reverseProxy/index.html +++ b/web/views/@default/servers/server/settings/locations/reverseProxy/index.html @@ -8,17 +8,13 @@
{$template "menu"}
-
- - - -
- -
-
- +
+
+

当前代理服务没有开启,可以通过点击 [更多设置] 开启 。

+ +
\ No newline at end of file diff --git a/web/views/@default/servers/server/settings/locations/reverseProxy/setting.html b/web/views/@default/servers/server/settings/locations/reverseProxy/setting.html new file mode 100644 index 00000000..3189b82b --- /dev/null +++ b/web/views/@default/servers/server/settings/locations/reverseProxy/setting.html @@ -0,0 +1,20 @@ +{$layout} +{$template "/left_menu"} + +
+ {$template "../location_menu"} + {$template "../left_menu"} + +
+ {$template "menu"} +
+
+ + + + +
+
+
\ No newline at end of file diff --git a/web/views/@default/servers/server/settings/locations/reverseProxy/setting.js b/web/views/@default/servers/server/settings/locations/reverseProxy/setting.js new file mode 100644 index 00000000..295a9aaf --- /dev/null +++ b/web/views/@default/servers/server/settings/locations/reverseProxy/setting.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/reverseProxy/@menu.html b/web/views/@default/servers/server/settings/reverseProxy/@menu.html index 5f2fab40..c4b1227f 100644 --- a/web/views/@default/servers/server/settings/reverseProxy/@menu.html +++ b/web/views/@default/servers/server/settings/reverseProxy/@menu.html @@ -1,4 +1,5 @@ 源站列表 调度算法 + 更多设置 \ No newline at end of file diff --git a/web/views/@default/servers/server/settings/reverseProxy/index.html b/web/views/@default/servers/server/settings/reverseProxy/index.html index 783fc9bb..bea04ca7 100644 --- a/web/views/@default/servers/server/settings/reverseProxy/index.html +++ b/web/views/@default/servers/server/settings/reverseProxy/index.html @@ -4,17 +4,12 @@
{$template "menu"} -
-
- - - - -
- -
-
- +
+
+

当前代理服务没有开启,可以通过点击 [更多设置] 开启 。

+ +
\ No newline at end of file diff --git a/web/views/@default/servers/server/settings/reverseProxy/index.js b/web/views/@default/servers/server/settings/reverseProxy/index.js deleted file mode 100644 index 240ff02b..00000000 --- a/web/views/@default/servers/server/settings/reverseProxy/index.js +++ /dev/null @@ -1,17 +0,0 @@ -Tea.context(function () { - this.success = NotifyReloadSuccess("保存成功") - - this.updateOn = function (b) { - teaweb.confirm(b ? "确定要启用反向代理服务吗?" : "确定要停用反向代理服务吗?", function () { - this.$post(".updateOn") - .params({ - "serverId": this.serverId, - "isOn": b ? 1 : 0, - "reverseProxyId": this.reverseProxyId - }) - .success(function () { - window.location.reload() - }) - }) - } -}) \ No newline at end of file diff --git a/web/views/@default/servers/server/settings/reverseProxy/setting.html b/web/views/@default/servers/server/settings/reverseProxy/setting.html new file mode 100644 index 00000000..5e53fdbc --- /dev/null +++ b/web/views/@default/servers/server/settings/reverseProxy/setting.html @@ -0,0 +1,14 @@ +{$layout} +{$template "/left_menu"} + +
+ {$template "menu"} + +
+
+ + + + +
+
\ No newline at end of file diff --git a/web/views/@default/servers/server/settings/reverseProxy/setting.js b/web/views/@default/servers/server/settings/reverseProxy/setting.js new file mode 100644 index 00000000..295a9aaf --- /dev/null +++ b/web/views/@default/servers/server/settings/reverseProxy/setting.js @@ -0,0 +1,3 @@ +Tea.context(function () { + this.success = NotifyReloadSuccess("保存成功") +}) \ No newline at end of file