Skip to content

Commit 7dc0a2f

Browse files
authored
fix: 解决更新端口不更新防火墙规则的问题 (#7169)
1 parent 52f7df0 commit 7dc0a2f

File tree

1 file changed

+15
-0
lines changed

1 file changed

+15
-0
lines changed

cmd/server/cmd/update.go

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@ import (
1313
"github.com/1Panel-dev/1Panel/backend/utils/cmd"
1414
"github.com/1Panel-dev/1Panel/backend/utils/common"
1515
"github.com/1Panel-dev/1Panel/backend/utils/encrypt"
16+
"github.com/1Panel-dev/1Panel/backend/utils/firewall"
17+
fireClient "github.com/1Panel-dev/1Panel/backend/utils/firewall/client"
1618
"github.com/spf13/cobra"
1719
"golang.org/x/term"
1820
)
@@ -187,6 +189,7 @@ func port() {
187189
fmt.Printf("错误:初始化数据库连接失败,%v\n", err)
188190
return
189191
}
192+
oldPortStr := getSettingByKey(db, "ServerPort")
190193
if err := setSettingByKey(db, "ServerPort", newPortStr); err != nil {
191194
fmt.Printf("错误:面板端口修改失败,%v\n", err)
192195
return
@@ -195,6 +198,18 @@ func port() {
195198
fmt.Printf("修改成功!\n\n")
196199
fmt.Printf("面板端口:%s\n", newPortStr)
197200

201+
if client, err := firewall.NewFirewallClient(); err == nil {
202+
if err := client.Port(fireClient.FireInfo{Port: newPortStr, Protocol: "tcp", Strategy: "accept"}, "add"); err != nil {
203+
fmt.Printf("添加防火墙端口规则失败,%v,请您手动将 %s 端口添加至防火墙规则中。\n", newPortStr, err)
204+
}
205+
if err := client.Port(fireClient.FireInfo{Port: oldPortStr, Protocol: "tcp", Strategy: "accept"}, "remove"); err != nil {
206+
fmt.Printf("错误:防火墙端口删除失败,%v\n", err)
207+
}
208+
if err := client.Reload(); err != nil {
209+
fmt.Printf("防火墙重载失败,%v,请您手动重载防火墙。\n", err)
210+
}
211+
}
212+
198213
std, err := cmd.Exec("1pctl restart")
199214
if err != nil {
200215
fmt.Println(std)

0 commit comments

Comments
 (0)