Skip to content

Commit 18be48b

Browse files
committed
fix: 解决更新端口不更新防火墙规则的问题
Refs #7164
1 parent 38d1cac commit 18be48b

File tree

1 file changed

+16
-0
lines changed

1 file changed

+16
-0
lines changed

cmd/server/cmd/update.go

Lines changed: 16 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+
190193
if err := setSettingByKey(db, "ServerPort", newPortStr); err != nil {
191194
fmt.Printf("错误:面板端口修改失败,%v\n", err)
192195
return
@@ -195,6 +198,19 @@ 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+
oldPortStr := getSettingByKey(db, "ServerPort")
206+
if err := client.Port(fireClient.FireInfo{Port: oldPortStr, Protocol: "tcp", Strategy: "accept"}, "remove"); err != nil {
207+
fmt.Printf("错误:防火墙端口删除失败,%v\n", err)
208+
}
209+
if err := client.Reload(); err != nil {
210+
fmt.Printf("防火墙重载失败,%v,请您手动重载防火墙。\n", err)
211+
}
212+
}
213+
198214
std, err := cmd.Exec("1pctl restart")
199215
if err != nil {
200216
fmt.Println(std)

0 commit comments

Comments
 (0)