{ "ConnectionStrings": { "DbType": "SqlServer", //数据库将支持两种模式【SqlServer,MySql】 "SqlConnection": "Server=127.0.0.1;uid=CoreShopProfessional;pwd=CoreShopProfessional;Database=CoreShopProfessional;MultipleActiveResultSets=true;pooling=true;min pool size=5;max pool size=32767;connect timeout=20;Encrypt=True;TrustServerCertificate=True;" //SqlServer数据库连接字符串,需要开启数据库连接复用【MultipleActiveResultSets=true】 // 如果采用容器化部署Service 要写成mysql的服务名,否则写地址 //"SqlConnection": "Server=127.0.0.1;Port=3306;Database=CoreShopProfessional;Uid=CoreShopProfessional;Pwd=CoreShopProfessional;CharSet=utf8;pooling=true;SslMode=None;Allow User Variables=true;Convert Zero Datetime=True;Allow Zero Datetime=True;" // Mysql数据库链接字符串,请保持后面的属性别少。经过测试,mysql版本需要5.7或以上 }, //定时任务管理面板的账户密码 "HangFire": { "Login": "CoreShopProfessional", "PassWord": "uzmp0oq9wfbdeasygj647vr53" }, "AppConfig": { "AppUrl": "https://admin.test.pro.coreshop.cn/", //后端管理地址 "AppPcUrl": "https://pc.test.pro.coreshop.cn/", //PC端访问地址 "AppH5Url": "https://h5.test.pro.coreshop.cn/", //H5端访问地址 "AppInterFaceUrl": "https://api.test.pro.coreshop.cn/", //接口请求地址 "AppVersion": "CoreShopProfessional v0.7.0" }, //redis为必须启动项,请保持redis为正常可用 "RedisConfig": { "UseCache": true, //启用redis作为内存选择 "UseTimedTask": true, //启用redis作为定时任务 // 如果采用容器化部署Service 要写成redis的服务名,否则写地址 "ConnectionString": "127.0.0.1:6379,password=,connectTimeout=30000,responseTimeout=30000,abortConnect=false,connectRetry=1,syncTimeout=10000,DefaultDatabase=9" //redis数据库连接字符串 }, //jwt授权认证的一些设置 "JwtConfig": { "SecretKey": "8kh2luzmp0oq9wfbdeasygj647vr531n", "Issuer": "CoreShopProfessional", "Audience": "CoreCms" }, //跨域设置 "Cors": { "PolicyName": "CorsIpAccess", //策略名称 "EnableAllIPs": false, //是否应用所有的IP,如设置为true,则取消跨域限制 // 支持多个域名端口,注意端口号后不要带/斜杆:比如localhost:8000/,是错的 // 注意,http://127.0.0.1:1818 和 http://localhost:1818 是不一样的 "IPs": "http://127.0.0.1:2364,http://localhost:2364" }, //中间件 "Middleware": { //记录请求和响应数据 "RequestResponseLog": { "Enabled": false }, //记录用户方访问数据 "RecordAccessLogs": { "Enabled": false, //是否开启记录操作日志功能。 "EnabledFileMode": false, //是否开启记录到文件功能。(影响效率,接口不建议开启) "EnabledDbMode": false, //是否开启记录到数据库模式。(影响效率,后台可开启,接口不建议开启,因为数据库会存储大量的用于请求数据和返回数据。) "IgnoreApis": "/api/tools/getuserinfo,/api/tools/getNavs,/api/CodeGenerator/CodeGenDown" //使用小写逗号分隔 }, //记录IP请求数据 "IPLog": { "Enabled": false }, //开启Ip限流 "IpRateLimit": { "Enabled": false }, "ConcurrencyLimiter": { //最大并发请求数 "MaxConcurrentRequests": 100, //最大请求数 "RequestQueueLimit": 100 } }, //ip限流规则设置 "IpRateLimiting": { //如果EnableEndpointRateLimiting设置为false,则限制将在全局范围内应用,并且仅适用于端点的规则*。例如,如果您设置每秒 5 次调用的限制,则对任何端点的任何 HTTP 调用都将计入该限制。 //如果EnableEndpointRateLimiting设置为true,则限制将适用于每个端点,如{HTTP_Verb}{PATH}。例如,如果您为*:/api/values客户端设置每秒调用 5 次的限制,则每秒可以调用GET /api/values5 次,但也可以调用 5 次PUT /api/values。 "EnableEndpointRateLimiting": false, //如果StackBlockedRequests设置为false,则拒绝的呼叫不会添加到节流计数器。如果客户端每秒发出 3 个请求,并且您设置了每秒一个呼叫的限制,则其他限制(例如每分钟或每天计数器)将仅记录第一个呼叫,即未被阻止的呼叫。如果您希望被拒绝的请求计入其他限制,您必须设置StackBlockedRequests为true. "StackBlockedRequests": false, //用于在您的RealIpHeaderKestrel 服务器位于反向代理之后时提取客户端 IP,如果您的代理使用不同的标头,则X-Real-IP使用此选项进行设置。 "RealIpHeader": "X-Real-IP", //ClientIdHeader用于提取白名单的客户端 ID 。如果此标头中存在客户端 ID 并且与 ClientWhitelist 中指定的值匹配,则不应用速率限制。 "ClientIdHeader": "X-ClientId", //IP白名单:支持Ip v4和v6;如 //"IpWhitelist": [ "127.0.0.1", "::1/10", "192.168.0.0/24" ], "IpWhitelist": [], //端点白名单 "EndpointWhitelist": [ "get:/api/license", "*:/api/status" ], //客户端白名单 "ClientWhitelist": [ "dev-client-1", "dev-client-2" ], "QuotaExceededResponse": { "Content": "{{\"status\":429,\"msg\":\"访问过于频繁,请稍后重试\",\"success\":false}}", "ContentType": "application/json", "StatusCode": 429 }, //返回状态码 "HttpStatusCode": 429, //通用规则 //api规则,结尾一定要带* "GeneralRules": [ //{ // //端点路径 // "Endpoint": "*:/api/*", // //时间段,格式:{数字}{单位};可使用单位:s, m, h, d // "Period": "1m", // //限制数量 // "Limit": 60 //}, //1秒钟只能调用3次 { "Endpoint": "*", "Period": "1s", "Limit": 30 }, //1分钟只能调用300次 { "Endpoint": "*", "Period": "1m", "Limit": 1000 }, //12H只能调用10000 { "Endpoint": "*", "Period": "12h", "Limit": 100000 }, //7天只能调用100000次 { "Endpoint": "*", "Period": "7d", "Limit": 1000000 } ] }, "Logging": { "LogLevel": { "Default": "Information", "Microsoft": "Warning", "Microsoft.Hosting.Lifetime": "Information" } }, "AllowedHosts": "*", "WeChatOptions": { //公众号 "WeiXinAppId": "", "WeiXinAppSecret": "", "WeiXinEncodingAesKey": "", "WeiXinToken": "", //小程序 "WxOpenAppId": "", "WxOpenAppSecret": "", "WxOpenToken": "", "WxOpenEncodingAESKey": "" } }