提交 bab33063 authored 作者: 陈泽健's avatar 陈泽健

```

fix(deploy): 修复ARM架构部署脚本中防火墙端口配置问题

- 将直接修改XML文件方式改为使用firewall-cmd官方命令添加端口
- 添加端口后自动重载防火墙配置使规则立即生效
- 改进错误处理逻辑并提供更详细的错误日志信息
- 移除手动修改配置文件的方法提高脚本稳定性
```
上级 e81101f1
......@@ -557,19 +557,21 @@ configure_firewall_for_9990() {
if firewall-cmd --zone=public --list-ports | grep -qw "9990/tcp"; then
log "INFO" "✅ 防火墙检测到 9990/tcp 端口已开放,跳过端口添加步骤。"
else
# 2. 在 /etc/firewalld/zones/public.xml 的 <forward/> 前追加端口配置
local public_xml="/etc/firewalld/zones/public.xml"
if [ -f "$public_xml" ]; then
# 使用 sed 在 <forward/> 标签前插入端口配置
sed -i '/<forward\/>/i\ <port protocol="tcp" port="9990"/>' "$public_xml"
# 使用官方命令永久添加端口(会自动写入 /etc/firewalld/zones/public.xml)
firewall-cmd --zone=public --permanent --add-port=9990/tcp
if [ $? -eq 0 ]; then
log "INFO" "✅ 已成功通过 firewall-cmd 添加 9990 端口永久规则。"
# 重新加载防火墙配置,使永久规则立即生效(无需重启服务)
firewall-cmd --reload
if [ $? -eq 0 ]; then
log "INFO" "✅ 已成功在 $public_xml 中追加 9990 端口配置。"
log "INFO" "✅ 防火墙配置已重载,9990 端口正式生效。"
else
log "ERROR" "❌ 修改 $public_xml 文件失败,请检查文件权限。"
log "ERROR" "❌ 防火墙配置重载失败,请手动执行 firewall-cmd --reload 检查。"
return 1
fi
else
log "ERROR" "❌ 未找到防火墙配置文件: $public_xml"
log "ERROR" "❌ 执行 firewall-cmd 添加端口失败,请检查 firewalld 服务状态。"
return 1
fi
fi
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论