Skip to content

自定义配置

执行安装脚本以后,配置文件路径为/usr/local/web-firewalld/manifest/config/config.yaml,可以根据需求进行修改。

yml
server:
  address:     ":8000"
  https: false  # 启用https
  # httpsCertPath:   "./manifest/config/server.crt"
  # httpsKeyPath:    "./manifest/config/server.key"
  openapiPath: "/api/api.json" # 在线文档访问地址
  swaggerPath: "/api/docs" # 在线文档访问地址
  swaggerCss: ./resource/public/docs/swagger.css
  swaggerJs: ./resource/public/docs/swagger.js
  serverRoot: "./resource/public/html"
  indexFiles: [ "index.html", "main.html" ]
  accessLogEnabled: true
  #  shell操作日志存放路径
  shellMode: bash # shell模式 仅支持 bash sh两种,设置成其他的无效默认sh
  shellLog: /var/log/web-firewall/shell
  logger:
    path:                  "/var/log/web-firewall/access"   # 日志文件路径。默认为空,表示关闭,仅输出到终端
    # file:                  "" # 日志文件格式。默认为"{Y-m-d}.log"
    prefix:                "access"            # 日志内容输出前缀。默认为空
    level:                 "info"         # 日志输出级别
    stdout:                false          # 日志是否同时输出到终端。默认true
    # rotateSize:            0             # 按照日志文件大小对文件进行滚动切分。默认为0,表示关闭滚动切分特性
    # rotateExpire:          0             # 按照日志文件时间间隔对文件滚动切分。默认为0,表示关闭滚动切分特性
    rotateBackupLimit: 30             # 按照切分的文件数量清理切分文件,当滚动切分特性开启时有效。默认为0,表示不备份,切分则删除
    # rotateBackupExpire:    0             # 按照切分的文件有效期清理切分文件,当滚动切分特性开启时有效。默认为0,表示不备份,切分则删除
    # rotateBackupCompress:  0             # 滚动切分文件的压缩比(0-9)。默认为0,表示不压缩
    rotateCheckInterval: "1d"          # 滚动切分的时间检测间隔,一般不需要设置。默认为1小时


logger:
  path: "/var/log/web-firewall/log/"           # 日志文件路径。默认为空,表示关闭,仅输出到终端
  file: "{Y-m-d}.log"         # 日志文件格式。默认为"{Y-m-d}.log"
  prefix: ""                    # 日志内容输出前缀。默认为空
  level: "INFO"                 # 日志输出级别,不区分大小写 all 所有日志 DEBU < INFO < NOTI < WARN < ERRO < CRIT
  timeFormat: "2006-01-02T15:04:05" # 自定义日志输出的时间格式,使用Golang标准的时间格式配置
  #  ctxKeys: [ ]                    # 自定义Context上下文变量名称,自动打印Context的变量到日志中。默认为空
  header: true                  # 是否打印日志的头信息。默认true
  stdout: true                  # 日志是否同时输出到终端。默认true
  rotateSize: 0                     # 按照日志文件大小对文件进行滚动切分。默认为0,表示关闭滚动切分特性
  rotateExpire: "1d"                     # 按照日志文件时间间隔对文件滚动切分。默认为0,表示关闭滚动切分特性
  rotateBackupLimit: 30                     # 按照切分的文件数量清理切分文件,当滚动切分特性开启时有效。默认为0,表示不备份,切分则删除
  rotateBackupExpire: 0                     # 按照切分的文件有效期清理切分文件,当滚动切分特性开启时有效。默认为0,表示不备份,切分则删除
  rotateBackupCompress: 0                     # 滚动切分文件的压缩比(0-9)。默认为0,表示不压缩
  rotateCheckInterval: "1d"                  # 滚动切分的时间检测间隔,一般不需要设置。默认为1小时
  stdoutColorDisabled: false                 # 关闭终端的颜色打印。默认开启
  writerColorEnable: false                 # 日志文件是否带上颜色。默认false,表示不带颜色

firewall:
  type: auto # 配置防火墙类型,可选参数 nftables/iptables/auto 默认auto
  typePriority: nftables # nftables/iptables type 为auto 设置优先检测防火墙类型,在某些系统下两种会共存 默认nftables
  chainPriority: #配置链的优先级,仅type为 nftables时生效
    input: 0
    output: 100
    forward: 100
    prerouting: 100
    postrouting: 100

database:
  logger:
    path: "/var/log/web-firewall/sql"
    level: "info"
    stdout: false
  default:
    link:  "sqlite::@file(./resource/db.sqlite3)"
  debug: false