CasWAF
运维

配置

CasWAF启动时从工作目录读取conf/app.conf;改完要重启。站点、证书、规则和节点不在这个文件里:它们存在数据库中,在管理界面里修改。

服务器

配置项默认值含义
appnamecaswaf程序名
httpport17000管理界面和API的端口
runmodedevBeego的运行模式
SessionOn、copyrequestbodytrueCasWAF需要的Beego设置,保持开启
redisEndpoint空把管理界面的会话存进Redis(host:port),而不是tmp/下的文件
languageenCasWAF给自己的Windows快捷方式命名时用的语言

数据库

配置项默认值含义
driverNamemysqlmysql、postgres、mssql或sqlite
dataSourceNameroot:123@tcp(localhost:3306)/连接字符串,不含数据库名
dbNamecaswaf数据库名;也是CasWAF注册开机自启时用的名字
tableNamePrefix空表名前缀
showSqlfalse打印每条SQL语句

数据库必须已经存在,除非启动CasWAF时带上-createDatabase=true。每次启动时都会创建和更新表。

网关

配置项默认值含义
gatewayEnabledtrue运行网关;false只运行管理界面和API
gatewayHttpPort80普通HTTP端口
gatewayHttpsPort443HTTPS端口
trustedProxies私有地址段信任哪些代理发来的X-Forwarded-For;见代理后面的客户端IP

Casdoor

配置项含义
casdoorEndpointCasdoor的地址
clientId、clientSecretCasWAF在Casdoor里的应用
casdoorOrganization、casdoorApplication这个应用所属的组织和应用名
isDemoModetrue时拒绝通过API做的一切修改

见用Casdoor登录;管理界面自己的登录设置在web/src/Conf.js里。

证书

配置项含义
acmeEmail、acmePrivateKeyLet's Encrypt账号;见Let's Encrypt
httpProxy一个SOCKS5代理,host:port,用来查询域名的到期日期;连不上时跳过

部署Casbin自己的应用

appDir、appMap、dbRegionId、dbAccessKeyId、dbAccessKeySecret、dbInstanceId、dbHost、dbUser、dbPass、clientIdPrefix和clientSecretPrefix属于把Casbin自己的应用部署到网关节点上的代码;见路线图。其中只有appDir在别处也有用:自动更新会在<appDir>/_bin/下构建CasWAF的新程序。

环境变量

下面这些配置项可以被同名环境变量覆盖,在容器里很方便:driverName、dataSourceName、dbName、tableNamePrefix、showSql、trustedProxies、isDemoMode、httpport和appname。其余配置项只从文件读取。

变量作用
RUNNING_IN_DOCKER=true把dataSourceName里的localhost换成Docker宿主机

数据库里的设置

Settings页面保存CasWAF运行期间可以修改的设置。目前只有Record retention days;见请求记录。

在GitHub上编辑

本页内容