diff --git a/internal/web/actions/default/clusters/cluster/settings/global-server-config/index.go b/internal/web/actions/default/clusters/cluster/settings/global-server-config/index.go index 7b292272..16427821 100644 --- a/internal/web/actions/default/clusters/cluster/settings/global-server-config/index.go +++ b/internal/web/actions/default/clusters/cluster/settings/global-server-config/index.go @@ -122,6 +122,11 @@ func (this *IndexAction) RunPost(params struct { PerformanceAutoWriteTimeout bool PerformanceDebug bool + // TCP端口设置 + TcpAllPortRangeMin int + TcpAllPortRangeMax int + TcpAllDenyPorts []int + Must *actions.Must CSRF *actionutils.CSRF }) { @@ -197,6 +202,23 @@ func (this *IndexAction) RunPost(params struct { // 日志 config.Log.RecordServerError = params.LogRecordServerError + // TCP + if params.TcpAllPortRangeMin < 1024 { + params.TcpAllPortRangeMin = 1024 + } + if params.TcpAllPortRangeMax > 65534 { + params.TcpAllPortRangeMax = 65534 + } else if params.TcpAllPortRangeMax < 1024 { + params.TcpAllPortRangeMax = 1024 + } + if params.TcpAllPortRangeMin > params.TcpAllPortRangeMax { + params.TcpAllPortRangeMin, params.TcpAllPortRangeMax = params.TcpAllPortRangeMax, params.TcpAllPortRangeMin + } + + config.TCPAll.DenyPorts = params.TcpAllDenyPorts + config.TCPAll.PortRangeMin = params.TcpAllPortRangeMin + config.TCPAll.PortRangeMax = params.TcpAllPortRangeMax + // 性能 config.Performance.AutoReadTimeout = params.PerformanceAutoReadTimeout config.Performance.AutoWriteTimeout = params.PerformanceAutoWriteTimeout diff --git a/internal/web/actions/default/servers/components/helper.go b/internal/web/actions/default/servers/components/helper.go deleted file mode 100644 index 5efa319f..00000000 --- a/internal/web/actions/default/servers/components/helper.go +++ /dev/null @@ -1,16 +0,0 @@ -package components - -import ( - "github.com/iwind/TeaGo/actions" -) - -type Helper struct { -} - -func NewHelper() *Helper { - return &Helper{} -} - -func (this *Helper) BeforeAction(action *actions.ActionObject) { - action.Data["teaMenu"] = "servers" -} diff --git a/internal/web/actions/default/servers/components/index.go b/internal/web/actions/default/servers/components/index.go deleted file mode 100644 index 542ec887..00000000 --- a/internal/web/actions/default/servers/components/index.go +++ /dev/null @@ -1,115 +0,0 @@ -package components - -import ( - "encoding/json" - "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/actionutils" - "github.com/TeaOSLab/EdgeCommon/pkg/langs/codes" - "github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb" - "github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs" - "github.com/iwind/TeaGo/actions" -) - -const ( - SettingCodeServerGlobalConfig = "serverGlobalConfig" -) - -type IndexAction struct { - actionutils.ParentAction -} - -func (this *IndexAction) Init() { - this.Nav("", "component", "index") - this.SecondMenu("global") -} - -func (this *IndexAction) RunGet(params struct{}) { - valueJSONResp, err := this.RPC().SysSettingRPC().ReadSysSetting(this.AdminContext(), &pb.ReadSysSettingRequest{Code: SettingCodeServerGlobalConfig}) - if err != nil { - this.ErrorPage(err) - return - } - valueJSON := valueJSONResp.ValueJSON - globalConfig := &serverconfigs.GlobalConfig{} - - if len(valueJSON) > 0 { - err = json.Unmarshal(valueJSON, globalConfig) - if err != nil { - this.ErrorPage(err) - return - } - } - this.Data["globalConfig"] = globalConfig - - this.Show() -} - -func (this *IndexAction) RunPost(params struct { - GlobalConfigJSON []byte - Must *actions.Must - - // 不匹配域名相关 - AllowMismatchDomains []string - DomainMismatchAction string - DomainMismatchActionPageStatusCode int - DomainMismatchActionPageContentHTML string - - // TCP端口设置 - TcpAllPortRangeMin int - TcpAllPortRangeMax int - TcpAllDenyPorts []int - - DefaultDomain string -}) { - // 创建日志 - defer this.CreateLogInfo(codes.Server_LogUpdateGlobalSettings) - - if len(params.GlobalConfigJSON) == 0 { - this.Fail("错误的配置信息,请刷新当前页面后重试") - } - - globalConfig := &serverconfigs.GlobalConfig{} - err := json.Unmarshal(params.GlobalConfigJSON, globalConfig) - if err != nil { - this.Fail("配置校验失败:" + err.Error()) - } - - // TCP端口范围 - if params.TcpAllPortRangeMin < 1024 { - params.TcpAllPortRangeMin = 1024 - } - if params.TcpAllPortRangeMax > 65534 { - params.TcpAllPortRangeMax = 65534 - } else if params.TcpAllPortRangeMax < 1024 { - params.TcpAllPortRangeMax = 1024 - } - if params.TcpAllPortRangeMin > params.TcpAllPortRangeMax { - params.TcpAllPortRangeMin, params.TcpAllPortRangeMax = params.TcpAllPortRangeMax, params.TcpAllPortRangeMin - } - globalConfig.TCPAll.DenyPorts = params.TcpAllDenyPorts - globalConfig.TCPAll.PortRangeMin = params.TcpAllPortRangeMin - globalConfig.TCPAll.PortRangeMax = params.TcpAllPortRangeMax - - // 修改配置 - globalConfigJSON, err := json.Marshal(globalConfig) - if err != nil { - this.ErrorPage(err) - return - } - _, err = this.RPC().SysSettingRPC().UpdateSysSetting(this.AdminContext(), &pb.UpdateSysSettingRequest{ - Code: SettingCodeServerGlobalConfig, - ValueJSON: globalConfigJSON, - }) - if err != nil { - this.ErrorPage(err) - return - } - - // 通知更新 - _, err = this.RPC().ServerRPC().NotifyServersChange(this.AdminContext(), &pb.NotifyServersChangeRequest{}) - if err != nil { - this.ErrorPage(err) - return - } - - this.Success() -} diff --git a/internal/web/actions/default/servers/components/init.go b/internal/web/actions/default/servers/components/init.go deleted file mode 100644 index 9e8d3dcb..00000000 --- a/internal/web/actions/default/servers/components/init.go +++ /dev/null @@ -1,20 +0,0 @@ -package components - -import ( - "github.com/TeaOSLab/EdgeAdmin/internal/configloaders" - "github.com/TeaOSLab/EdgeAdmin/internal/web/helpers" - "github.com/iwind/TeaGo" -) - -func init() { - TeaGo.BeforeStart(func(server *TeaGo.Server) { - server. - Helper(helpers.NewUserMustAuth(configloaders.AdminModuleCodeServer)). - Data("teaMenu", "servers"). - Data("teaSubMenu", "global"). - Helper(NewHelper()). - Prefix("/servers/components"). - GetPost("", new(IndexAction)). - EndAll() - }) -} diff --git a/internal/web/import.go b/internal/web/import.go index 0213adb5..ba4b66ed 100644 --- a/internal/web/import.go +++ b/internal/web/import.go @@ -37,7 +37,6 @@ import ( // 服务相关 _ "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/default/servers" _ "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/default/servers/certs" - _ "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/default/servers/components" _ "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/default/servers/components/cache" _ "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/default/servers/components/cache/batch" _ "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/default/servers/components/log" diff --git a/web/views/@default/clusters/cluster/settings/global-server-config/index.html b/web/views/@default/clusters/cluster/settings/global-server-config/index.html index a3bb35be..e41e6348 100644 --- a/web/views/@default/clusters/cluster/settings/global-server-config/index.html +++ b/web/views/@default/clusters/cluster/settings/global-server-config/index.html @@ -207,6 +207,34 @@ +

TCP/UDP相关

+ + + + + + + + + +
允许的端口范围 +
+
+ +
+
+ - +
+
+ +
+
+

用户创建TCP/TLS负载均衡服务时可以随机选择的端口范围,最小不能小于1024,最大不能大于65534。

+
排除的端口 + +

当为用户随机分配端口时要排除的端口。

+
+

其他

diff --git a/web/views/@default/clusters/cluster/settings/global-server-config/index.js b/web/views/@default/clusters/cluster/settings/global-server-config/index.js index 295a9aaf..2816470e 100644 --- a/web/views/@default/clusters/cluster/settings/global-server-config/index.js +++ b/web/views/@default/clusters/cluster/settings/global-server-config/index.js @@ -1,3 +1,20 @@ Tea.context(function () { this.success = NotifyReloadSuccess("保存成功") + + /** + * TCP端口 + */ + this.tcpAllPortRangeMin = 10000 + this.tcpAllPortRangeMax = 40000 + if (this.config.tcpAll.portRangeMin > 0) { + this.tcpAllPortRangeMin = this.config.tcpAll.portRangeMin + } + if (this.config.tcpAll.portRangeMax > 0) { + this.tcpAllPortRangeMax = this.config.tcpAll.portRangeMax + } + + this.tcpAllDenyPorts = [] + if (this.config.tcpAll.denyPorts != null) { + this.tcpAllDenyPorts = this.config.tcpAll.denyPorts + } }) \ No newline at end of file diff --git a/web/views/@default/servers/components/index.html b/web/views/@default/servers/components/index.html deleted file mode 100644 index c3b17aa4..00000000 --- a/web/views/@default/servers/components/index.html +++ /dev/null @@ -1,42 +0,0 @@ -{$layout} - - - - - - - -
-
- - - - - - - - -
允许的端口范围 -
-
- -
-
- - -
-
- -
-
-

用户创建TCP/TLS负载均衡服务时可以随机选择的端口范围,最小不能小于1024,最大不能大于65534。

-
排除的端口 - -

当为用户随机分配端口时要排除的端口。

-
- - -
- 保存 - diff --git a/web/views/@default/servers/components/index.js b/web/views/@default/servers/components/index.js deleted file mode 100644 index 08c6a720..00000000 --- a/web/views/@default/servers/components/index.js +++ /dev/null @@ -1,37 +0,0 @@ -Tea.context(function () { - this.tab = "tcpPorts" - - this.$delay(function () { - if (window.location.hash != null && window.location.hash.length > 1) { - this.selectTab(window.location.hash.substring(1)) - } - }) - - this.selectTab = function (tab) { - this.tab = tab - window.location.hash = "#" + tab - } - - this.success = function () { - teaweb.success("保存成功", function () { - teaweb.reload() - }) - } - - /** - * TCP端口 - */ - this.tcpAllPortRangeMin = 10000 - this.tcpAllPortRangeMax = 40000 - if (this.globalConfig.tcpAll.portRangeMin > 0) { - this.tcpAllPortRangeMin = this.globalConfig.tcpAll.portRangeMin - } - if (this.globalConfig.tcpAll.portRangeMax > 0) { - this.tcpAllPortRangeMax = this.globalConfig.tcpAll.portRangeMax - } - - this.tcpAllDenyPorts = [] - if (this.globalConfig.tcpAll.denyPorts != null) { - this.tcpAllDenyPorts = this.globalConfig.tcpAll.denyPorts - } -}) \ No newline at end of file