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 | { |
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 | { |
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 | { |
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 | { |
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 | { |
#中台 #中台/配置文件 #中台/分布式微服务 #中台/OSS配置 #中台/限流配置