ocelot.json模板

{
  "ReRoutes": [
    {
      "DownstreamPathTemplate": "/DemoService/{url}", // 下游游请求模板
      "UpstreamPathTemplate": "/{url}", // 上游请求模板
      "UpstreamHttpMethod": [ "Get", "Post", "Delete", "Put", "Option" ], // 上游请求http方法
      "AddHeadersToRequest": {},
      "UpstreamHeaderTransform": {},
      "DownstreamHeaderTransform": {},
      "AddClaimsToRequest": {},
      "RouteClaimsRequirement": {},
      "AddQueriesToRequest": {},
      "RequestIdKey": null,
      //缓存配置
      "FileCacheOptions": {
        "TtlSeconds": 10, //缓存时间(秒)。
        "Region": "somename" //缓存分区名
      },
      "ReRouteIsCaseSensitive": false,
      "ServiceName": "DemoService",
      "DownstreamScheme": "http", //下游服务 schema
      //配置服务认证
      "AuthenticationOptions": {
        "AuthenticationProviderKey": "",
        "AllowedScopes": []
      },
      "HttpHandlerOptions": {
        "AllowAutoRedirect": false,
        "UseCookieContainer": false,
        "UseTracing": false,
        "UseProxy": true
      },
      "DownstreamHostAndPorts": [],
      "UpstreamHost": null,
      "Key": null,
      "DelegatingHandlers": [],
      "Priority": 1,
      "Timeout": 0,
      "DangerousAcceptAnyServerCertificateValidator": false,
      "SecurityOptions": {
        "IPAllowedList": [],
        "IPBlockedList": []
      }
    }
  ],
  "DynamicReRoutes": [],
  "Aggregates": [],
  "GlobalConfiguration": {
    "BaseUrl": null, //网关暴露的的地址
    "RequestIdKey": null,
    "ServiceDiscoveryProvider": {
      "Host": "192.168.199.203",
      "Port": 8500,
      "Type": "Consul",
      "Token": "",
      "ConfigurationKey": "OcelotYCH",
      "PollingInterval": 1000,
      "Namespace": null
    },
    //限流配置
    "RateLimitOptions": {
      "ClientIdHeader": "ClientId", //用来设别客户请求头,默认为ClientId
      "QuotaExceededMessage": "Too many requests", //提示信息
      "RateLimitCounterPrefix": "ocelot",
      "DisableRateLimitHeaders": false, //是否显示X-Rate-Limit和Retry-After头
      "HttpStatusCode": 429, //状态码
      "ClientWhitelist": [], //白名单,不受限流控制
      "EnableRateLimiting": true, //启用限流
      "Period": "1s", //限流控制的时间段 1s, 5m, 1h, 1d
      "PeriodTimespan": 1, //超过限流限制的次数后,需要等待重置的时间(单位是秒)。
      "Limit": 10 //在限流控制时间段内最大访问数
    },
    //熔断配置
    "QoSOptions": {
      "ExceptionsAllowedBeforeBreaking": 3, //允许多少个异常请求
      "DurationOfBreak": 10, //熔断的时间,单位为秒
      "TimeoutValue": 5000 //如果下游请求的处理时间超过多少则将请求设置为超时
    },
    "LoadBalancerOptions": {
      "Type": "LeastConnection",
      "Key": null,
      "Expiry": 0
    },
    "DownstreamScheme": null,
    "HttpHandlerOptions": {
      "AllowAutoRedirect": false,
      "UseCookieContainer": false,
      "UseTracing": false,
      "UseProxy": true
    }
  }
}
原文地址:https://www.cnblogs.com/yuchenghao/p/12697561.html