apigo.cloud/git/apigo/service: listen: 18087 # 监听端口(|隔开多个监听)(,隔开多个选项)例如 80,http|443|443:h2|127.0.0.1:8080,h2c ssl: # SSL证书配置,key为域名,value为cert和key的文件路径 a.com: # 证书匹配的域名 certFile: /path/to/ssl.pem # cert文件路径 keyFile: /path/to/ssl.key # key文件路径 registry: # 服务发现使用的redis连接,例如:redis://:@127.0.0.1:6379/15 app: # 注册成为一个服务,指定一个名称即可让其他服务使用这个名称来调用,默认不注册为服务 weight: 100 # 服务节点的权重,默认值:100 accessTokens: # 请求接口时使用指定的Access-Token进行验证,值为token对应的auth-level huDWA-78we2-89uji1da: 1 # 该token将获得level为1的权限 89dsj-aADSsn-Uds1dad: 2 # 该token将获得level为2的权限 calls: # 定义将会调用的服务,可以指定调用时使用的Access-Token、请求使用的协议、超时时间(:间隔) # app1: huDWA-78we2-89uji1da # 携带指定的Access-Token请求服务app1(h2c协议,超时时间为10s) # app2: http:500ms # 不携带Access-Token请求服务app2(http协议,超时时间为500ms) # app3: https:30s:89dsj-aADSsn-Uds1dad # 携带指定Access-Token请求服务app3(https协议,超时时间为30s) callRetryTimes: 10 # 节点连续失败超过指定次数将会被注销(只要有其他节点能工作不会影响正常访问),默认值:10 ipPrefix: # 用discover注册发现服务时指定使用的IP网段,默认排除 172.17.(Docker) keepaliveTimeout: 15000 # 连接允许空闲的最大时间,单位ms,默认值:15000 noLogHeaders: Accept,Accept-Encoding,Cache-Control,Pragma,Connection,Upgrade-Insecure-Requests # 不记录请求头中包含的这些字段,多个字段用逗号分隔 logInputArrayNum: 10 # 请求字段中容器类型(数组、Map)在日志打印个数限制 默认为10个,多余的数据将不再日志中记录 logInputFieldSize: 500 # 请求字段中单个字段在日志打印长度限制 默认为500个字符,多余的数据将不再日志中记录 logOutputArrayNum: 3 # 响应字段中容器类型(数组、Map)在日志打印个数限制 默认为3个,多余的数据将不再日志中记录 logOutputFieldSize: 100 # 响应字段中单个字段在日志打印长度限制 默认为100个字符,多余的数据将不再日志中记录 compress: false # 是否启用压缩,默认不启用 compressMinSize: 1024 # 小于设定值的应答内容将不进行压缩,默认值:1024 compressMaxSize: 4096000 # 大于设定值的应答内容将不进行压缩,默认值:4096000 redirectTimeout: 10000 # proxy和discover发起请求时的超时时间,单位ms,默认值:10000 acceptXRealIpWithoutRequestId: false # 是否允许头部没有携带请求ID的X-Real-IP信息,默认不允许(防止伪造客户端IP) statisticTime: false # 是否开启请求时间统计,默认不开启 statisticTimeInterval: 10000 # 统计时间间隔,单位ms,默认值:10000 maxUploadSize: 104857600 # 最大上传文件大小(multipart/form-data请求的总空间),单位字节,默认值:104857600(100M) cpu: 0 # CPU占用的核数,默认为0,即不做限制 memory: 0 # 内存(单位M),默认为0,即不做限制 cpuMonitor: false # 在日志中记录CPU使用情况,默认不开启 memoryMonitor: false # 在日志中记录内存使用情况,默认不开启 cpuLimitValue: 100 # CPU超过最高占用值(10-100)超过次数将自动重启(如果CpuMonitor开启的话),默认100 memoryLimitValue: 95 # 内存超过最高占用值(10-100)超过次数将自动重启(如果MemoryMonitor开启的话),默认95 cpuLimitTimes: 6 # CPU超过最高占用值超过次数(1-100)将报警(如果CpuMonitor开启的话),默认6(即30秒内连续6次) memoryLimitTimes: 6 # 内存超过最高占用值超过次数(1-100)将报警(如果MemoryMonitor开启的话),默认6(即30秒内连续6次) cookieScope: host # 启用Session时Cookie的有效范围,host|domain|topDomain,默认值为host idServer: # 用uniqueId、id来生成唯一ID(雪花算法)时所需的redis服务器连接,例如:redis://:@127.0.0.1:6379/15,如果不指定将不能实现跨服务的全局唯一 logLevel: info # 指定日志等级(error/warning/info/debug),默认值:info logFile: # 指定日志文件,默认记录到标准输出 splitTag: 20060102 # 日志文件切分格式,格式语法见golang日期时间格式化,默认不切分 sensitive: phone,password,secret,token,accessToken # 日志脱敏字段,逗号隔开,请求、应答、HTTP头、请求应答JSON数据的下标等匹配到的值将进行脱敏 apiPath: api # API接口文件的目录,默认为当前目录下的 api/ apiHotLoadInterval: 100 # API文件热加载,当API接口检测到文件变化自动加载,单位毫秒,默认值:0(不开启)