• reverseproxy configfiles


    {
      // Base URLs the server listens on, must be configured independently of the routes below
      // 服务器侦听的基本URL必须独立于下面的路由进行配置
      //"Urls": "http://localhost:5000;https://localhost:5001",
      "Logging": {
        "LogLevel": {
          "Default": "Information",
          // Uncomment to hide diagnostic messages from runtime and proxy
          // 取消对运行时和代理隐藏诊断消息的注释
    
          // "Microsoft": "Warning",
          // "Yarp" : "Warning",
          "Microsoft.Hosting.Lifetime": "Information"
        }
      },
      "ReverseProxy": {
        // Routes tell the proxy which requests to forward
        //取消对运行时和代理隐藏诊断消息的注释
    
        "Routes": {
          "minimumroute": {
            // Matches anything and routes it to www.example.com
            //匹配任何内容并将其路由到www.example。通用域名格式
    
            "ClusterId": "minimumcluster",
            "Match": {
              "Path": "{**catch-all}"
            }
          },
    
          // 匹配/something/*并路由到“allclusterprops”
          "allrouteprops": {
            // matches /something/* and routes to "allclusterprops"
            //其中一个集群的名称
            "ClusterId": "allclusterprops", // Name of one of the clusters 
    
            //数字越小,优先级越高
            "Order": 100, // Lower numbers have higher precedence 
    
            //"Anonymous" 策略名称或“默认”、“匿名”
            "Authorization Policy": "Anonymous", // Name of the policy or "Default", 
    
            //要应用于此路由的公司名称或“默认”、“禁用”
            "CorsPolicy": "Default", // Name of the CorsPolicy to apply to this route or "Default", "Disable"
    
            "Match": {
              //要使用ASP进行匹配的路径。NET语法。
              "Path": "/something/{**remainder}", // The path to match using ASP.NET syntax. 
    
              //要匹配的主机名(未指定)为any
              "Hosts": [ "www.aaaaa.com", "www.bbbbb.com" ], // The host names to match, unspecified is any
    
              //匹配的HTTP方法,USSpecified就是全部
              "Methods": [ "GET", "PUT" ], // The HTTP methods that match, uspecified is all
    
              //要匹配的标题(未指定)是任意的
              "Headers": [ // The headers to match, unspecified is any
                {
                  //标题的名称
                  "Name": "MyCustomHeader", // Name of the header
                  //匹配是针对这些值中的任何一个进行的
                  "Values": [ "value1", "value2", "another value" ], // Matches are against any of these values
    
                  //或“HeaderPrefix”、“Exists”、“Contains”、“NotContains”
                  "Mode": "ExactHeader", // or "HeaderPrefix", "Exists" , "Contains", "NotContains"
                  "IsCaseSensitive": true
                }
              ],
              //要匹配的查询参数(未指定)为any
              "QueryParameters": [ // The query parameters to match, unspecified is any
                {
                  //查询参数的名称
                  "Name": "MyQueryParameter", // Name of the query parameter
                  //匹配是针对这些值中的任何一个进行的
                  "Values": [ "value1", "value2", "another value" ], // Matches are against any of these values
                  "Mode": "Exact", // or "Prefix", "Exists" , "Contains", "NotContains"
                  "IsCaseSensitive": true
                }
              ]
            },
            //自定义扩展可以使用的键值对列表
            "MetaData": { // List of key value pairs that can be used by custom extensions
              "MyName": "MyValue"
            },
            //变换列表。有关更多详细信息,请参阅Transforms文章
            "Transforms": [ // List of transforms. See the Transforms article for more details
              {
                "RequestHeader": "MyHeader",
                "Set": "MyValue"
              }
            ]
          }
        },
    
        //集群告诉代理在哪里以及如何转发请求
        // Clusters tell the proxy where and how to forward requests
        "Clusters": {
          "minimumcluster": {
            "Destinations": {
              "example.com": {
                "Address": "https://www.baidu.com"
              }
            }
          },
          "allclusterprops": {
            "Destinations": {
              "first_destination": {
                "Address": "https://contoso.com"
              },
              "another_destination": {
                "Address": "https://10.20.30.40",
                //主动健康检查的覆盖
                "Health": "https://10.20.30.40:12345/test" // override for active health checks
              }
            },
            //或者“第一字母顺序”、“随机”、“循环”、“最少任务”
            "LoadBalancingPolicy": "PowerOfTwoChoices", // Alternatively "FirstAlphabetical", "Random", "RoundRobin", "LeastRequests"
            "SessionAffinity": {
              "Enabled": true, // Defaults to 'false'
              "Policy": "Cookie", // Default, alternatively "CustomHeader"
              "FailurePolicy": "Redistribute", // default, Alternatively "Return503Error"
              "Settings": {
                "CustomHeaderName": "MySessionHeaderName" // Defaults to 'X-Yarp-Proxy-Affinity`
              }
            },
            "HealthCheck": {
              "Active": { // Makes API calls to validate the health. 
                "Enabled": "true",
                "Interval": "00:00:10",
                "Timeout": "00:00:10",
                "Policy": "ConsecutiveFailures",
                "Path": "/api/health" // API endpoint to query for health state
              },
              "Passive": { // Disables destinations based on HTTP response codes
                "Enabled": true, // Defaults to false
                "Policy": "TransportFailureRateHealthPolicy", // Required
                "ReactivationPeriod": "00:00:10" // 10s
              }
            },
    
            //用于联系目的地的HttpClient实例的配置
            "HttpClient": { // Configuration of HttpClient instance used to contact destinations
              "SSLProtocols": "Tls13",
              "DangerousAcceptAnyServerCertificate": false,
              "MaxConnectionsPerServer": 1024,
              "EnableMultipleHttp2Connections": true,
              //如何解释标题值中的非ASCII字符
              "RequestHeaderEncoding": "Latin1" // How to interpret non ASCII characters in header values
            },
    
            //向目的地发送请求的选项
            "HttpRequest": { // Options for sending request to destination
              "ActivityTimeout": "00:02:00",
              "Version": "2",
              "VersionPolicy": "RequestVersionOrLower",
              "AllowResponseBuffering": "false"
            },
    
            //自定义键值对
            "MetaData": { // Custom Key value pairs
              "TransportFailureRateHealthPolicy.RateLimit": "0.5", // Used by Passive health policy
              "MyKey": "MyValue"
            }
          }
        }
      }
    }
    

    配置文件 (microsoft.github.io)

  • 相关阅读:
    【2021年度总结】创业摸索探索
    Gitea 企业搭建私有git服务器
    聊聊公司的技术栈
    ELK 之解析域名的TLD
    CSS实现关键帧动画图标效果
    AutoEncoding Scene Graphs for Image Captioning 论文笔记
    会议室919、920、1897
    org.apache.catalina.connector.ClientAbortException: java.io.IOException: Broken pipe问题探究
    Search in Rotated Sorted Array 循环有序数组查找问题
    因死循环导致CPU飙升到100%的问题排查记录
  • 原文地址:https://www.cnblogs.com/wujiangling/p/16051813.html
Copyright © 2020-2023  润新知