Admin Core

OSS 配置

配置文件: Configs/ossconfig.json

OSSConfig

OSS 文件上传配置
配置文件: Configs/ossconfig.json

配置项 类型 说明
LocalUploadConfig object 本地上传配置
LocalUploadConfig.Directory string 上传目录
LocalUploadConfig.DateTimeDirectory string 日期目录格式,如yyyy/MM/dd
LocalUploadConfig.Md5 bool 是否启用 MD5 校验
LocalUploadConfig.MaxSize long 文件最大大小(bytes)
LocalUploadConfig.IncludeExtension string[] 允许上传的文件扩展名列表
LocalUploadConfig.ExcludeExtension string[] 禁止上传的文件扩展名列表,如[ ".exe", ".dll", ".jar" ]
Provider string 默认文件存储供应商
OSSConfigs object[] OSS 配置列表

支持的 Provider: Minio、Aliyun、QCloud(腾讯云)、Qiniu(七牛)、HuaweiCloud(华为云)

OSS 配置项

配置项 类型 说明
Provider string 供应商类型
Endpoint string 端点地址
Region string 区域
AccessKey string 访问密钥
SecretKey string 密钥
IsEnableHttps bool 是否启用 HTTPS
IsEnableCache bool 是否启用缓存
BucketName string 存储桶名称
Url string 文件外链地址
Md5 bool 是否启用 MD5 校验
Enable bool 是否启用

配置示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
{
"OssConfig": {
"LocalUploadConfig": {
"Directory": "upload",
"DateTimeDirectory": "yyyy/MM/dd",
"Md5": false,
"MaxSize": 104857600,
"IncludeExtension": [],
"ExcludeExtension": [ ".exe", ".dll", ".jar" ]
},
"Provider": "Minio",
"OSSConfigs": [
{
"Provider": "Minio",
"Endpoint": "127.0.0.1:9006",
"Region": "",
"AccessKey": "minio",
"SecretKey": "minio",
"IsEnableHttps": false,
"IsEnableCache": true,
"BucketName": "admin",
"Url": "",
"Md5": false,
"Enable": false
}
]
}
}

RpcConfig

远程过程调用配置
配置文件: Configs/appsettings.json 中的 RpcConfig 节点

配置项 类型 说明
Http object HTTP 远程配置
Http.Enable bool 启用 HTTP 远程调用,默认true
Http.AssemblyNames string[] 客户端程序集名称列表,未配置时默认包含ZhonTai.Admin.Contracts
Grpc object gRPC 远程配置
Grpc.Enable bool 启用 gRPC 远程调用,默认true
Grpc.AssemblyNames string[] 客户端程序集名称列表,未配置时默认包含ZhonTai.Admin.Core
Grpc.ServerAssemblyNames string[] 服务端程序集名称列表
Endpoints object[] 远程地址列表
Endpoints[].Name string 模块名称,如admin
Endpoints[].HttpUrl string HTTP 请求地址,如http://localhost:18010
Endpoints[].GrpcUrl string gRPC 请求地址,如http://localhost:18011

配置示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
{
"RpcConfig": {
"Http": {
"Enable": true,
"AssemblyNames": [ "ZhonTai.Admin.Contracts" ]
},
"Grpc": {
"Enable": true,
"AssemblyNames": [ "ZhonTai.Admin.Core" ],
"ServerAssemblyNames": [ "ZhonTai.Admin" ]
},
"Endpoints": [
{
"Name": "admin",
"HttpUrl": "http://localhost:18010",
"GrpcUrl": "http://localhost:18011"
}
]
}
}

ImConfig

即时通讯配置
配置文件: Configs/appsettings.json 中的 ImConfig 节点

配置项 类型 说明
Enable bool 启用即时通讯,默认false
Servers string[] IM 服务器集群地址列表,如[ "127.0.0.1:17010" ]
Server string WebSocket 业务端地址,如ws://127.0.0.1:17010
RedisConnectionString string Redis 连接字符串,如127.0.0.1:6379,password=,defaultDatabase=6

配置示例

1
2
3
4
5
6
7
8
{
"ImConfig": {
"Enable": false,
"Servers": [ "127.0.0.1:17010" ],
"Server": "ws://127.0.0.1:17010",
"RedisConnectionString": "127.0.0.1:6379,password=,defaultDatabase=6"
}
}

TaskSchedulerConfig

任务调度配置
配置文件: Configs/appsettings.json 中的 TaskScheduler 节点

配置项 类型 说明
ProcessStartInfo object 进程启动信息
ProcessStartInfo.FileName string 应用程序路径,如C:/grpcurl_1.8.7/grpcurl
ProcessStartInfo.WorkingDirectory string 工作目录
AlerEmail object 告警邮件配置
AlerEmail.Enable bool 启用告警邮件
AlerEmail.Address string 告警邮件地址
Modules object[] 模块列表
Modules[].Name string 模块名称,如admin
Modules[].HttpUrl string HTTP 请求地址,如http://localhost:18010
Modules[].GrpcUrl string gRPC 请求地址,如http://localhost:18011

配置示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
{
"TaskScheduler": {
"ProcessStartInfo": {
"FileName": "C:/grpcurl_1.8.7/grpcurl",
"WorkingDirectory": ""
},
"AlerEmail": {
"Enable": true,
"Address": ""
},
"Modules": [
{
"Name": "admin",
"HttpUrl": "http://localhost:18010",
"GrpcUrl": "http://localhost:18011"
}
]
}
}

RateLimitConfig

限流配置
配置文件: Configs/ratelimitconfig.json

配置项 类型 说明
Enable bool 启用限流
Method string 限流方式:Client(客户端限流)/ Ip(IP 限流)
ClientIdType string 客户端 ID 类型:Token / UserId / ClientIdHeader
CachePrefix string 缓存前缀
IpRateLimiting object IP 限流配置
IpRateLimiting.EnableEndpointRateLimiting bool 启用端点限流
IpRateLimiting.StackBlockedRequests bool 堆叠被阻止的请求
IpRateLimiting.RealIpHeader string 真实 IP 请求头
IpRateLimiting.IpWhitelist string[] IP 白名单
IpRateLimiting.EndpointWhitelist string[] 端点白名单
IpRateLimiting.ClientWhitelist string[] 客户端白名单
IpRateLimiting.HttpStatusCode int 限制时的 HTTP 状态码
IpRateLimiting.QuotaExceededResponse object 超出配额的响应内容
IpRateLimiting.GeneralRules object[] 通用限流规则
ClientRateLimiting object 客户端限流配置
ClientRateLimiting.EnableEndpointRateLimiting bool 启用端点限流
ClientRateLimiting.ClientIdHeader string 客户端 ID 请求头
ClientRateLimiting.IpWhitelist string[] IP 白名单
ClientRateLimiting.EndpointWhitelist string[] 端点白名单
ClientRateLimiting.ClientWhitelist string[] 客户端白名单
ClientRateLimiting.HttpStatusCode int 限制时的 HTTP 状态码
ClientRateLimiting.QuotaExceededResponse object 超出配额的响应内容
ClientRateLimiting.GeneralRules object[] 通用限流规则

配置示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
{
"RateLimitConfig": {
"Enable": false,
"Method": "Client",
"ClientIdType": "Token",
"CachePrefix": "zhontai:ratelimit",
"IpRateLimiting": {
"EnableEndpointRateLimiting": true,
"StackBlockedRequests": false,
"RealIpHeader": "X-Real-IP",
"IpWhitelist": [],
"EndpointWhitelist": [
"get:/api/admin/auth/refresh",
"*:/*.*GrpcService/*"
],
"ClientWhitelist": [],
"HttpStatusCode": 429,
"QuotaExceededResponse": {
"Content": "{\"code\":429,\"msg\":\"访问过于频繁!\",\"success\": false}",
"ContentType": "application/json; charset=utf-8",
"StatusCode": 429
},
"GeneralRules": [
{
"Endpoint": "*:/api/*",
"Period": "1s",
"Limit": 3
},
{
"Endpoint": "*:/api/*",
"Period": "10m",
"Limit": 200
}
]
},
"ClientRateLimiting": {
"EnableEndpointRateLimiting": true,
"ClientIdHeader": "X-ClientId",
"IpWhitelist": [],
"EndpointWhitelist": [
"get:/api/admin/auth/refresh",
"*:/*.*GrpcService/*"
],
"ClientWhitelist": [],
"HttpStatusCode": 429,
"QuotaExceededResponse": {
"Content": "{\"code\":429,\"msg\":\"访问过于频繁!\",\"success\": false}",
"ContentType": "application/json; charset=utf-8",
"StatusCode": 429
},
"GeneralRules": [
{
"Endpoint": "*:/api/*",
"Period": "1s",
"Limit": 3
},
{
"Endpoint": "*:/api/*",
"Period": "10m",
"Limit": 200
}
]
}
}
}

#中台 #中台/配置文件 #中台/分布式微服务 #中台/OSS配置 #中台/限流配置