[http]
  [http.routers]
    [http.routers.Router0]
      entryPoints = ["foobar", "foobar"]
      middlewares = ["foobar", "foobar"]
      service = "foobar"
      rule = "foobar"
      priority = 42
      [http.routers.Router0.tls]
        options = "foobar"
        certResolver = "foobar"

        [[http.routers.Router0.tls.domains]]
          main = "foobar"
          sans = ["foobar", "foobar"]

        [[http.routers.Router0.tls.domains]]
          main = "foobar"
          sans = ["foobar", "foobar"]
    [http.routers.Router1]
      entryPoints = ["foobar", "foobar"]
      middlewares = ["foobar", "foobar"]
      service = "foobar"
      rule = "foobar"
      priority = 42
      [http.routers.Router1.tls]
        options = "foobar"
        certResolver = "foobar"

        [[http.routers.Router1.tls.domains]]
          main = "foobar"
          sans = ["foobar", "foobar"]

        [[http.routers.Router1.tls.domains]]
          main = "foobar"
          sans = ["foobar", "foobar"]
  [http.services]
    [http.services.Service01]
      [http.services.Service01.loadBalancer]
        passHostHeader = true
        serversTransport = "foobar"
        [http.services.Service01.loadBalancer.sticky]
          [http.services.Service01.loadBalancer.sticky.cookie]
            name = "foobar"
            secure = true
            httpOnly = true
            sameSite = "foobar"

        [[http.services.Service01.loadBalancer.servers]]
          url = "foobar"

        [[http.services.Service01.loadBalancer.servers]]
          url = "foobar"
        [http.services.Service01.loadBalancer.healthCheck]
          scheme = "foobar"
          path = "foobar"
          method = "foobar"
          port = 42
          interval = "foobar"
          timeout = "foobar"
          hostname = "foobar"
          followRedirects = true
          [http.services.Service01.loadBalancer.healthCheck.headers]
            name0 = "foobar"
            name1 = "foobar"
        [http.services.Service01.loadBalancer.responseForwarding]
          flushInterval = "foobar"
    [http.services.Service02]
      [http.services.Service02.mirroring]
        service = "foobar"
        maxBodySize = 42

        [http.services.Service02.mirroring.healthCheck]

        [[http.services.Service02.mirroring.mirrors]]
          name = "foobar"
          percent = 42

        [[http.services.Service02.mirroring.mirrors]]
          name = "foobar"
          percent = 42
    [http.services.Service03]
      [http.services.Service03.weighted]
        [http.services.Service03.weighted.healthCheck]

        [[http.services.Service03.weighted.services]]
          name = "foobar"
          weight = 42

        [[http.services.Service03.weighted.services]]
          name = "foobar"
          weight = 42
        [http.services.Service03.weighted.sticky]
          [http.services.Service03.weighted.sticky.cookie]
            name = "foobar"
            secure = true
            httpOnly = true
            sameSite = "foobar"
    [http.services.Service04]
      [http.services.Service04.failover]
        service = "foobar"
        fallback = "foobar"

      [http.services.Service04.failover.healthCheck]
  [http.middlewares]
    [http.middlewares.Middleware00]
      [http.middlewares.Middleware00.addPrefix]
        prefix = "foobar"
    [http.middlewares.Middleware01]
      [http.middlewares.Middleware01.basicAuth]
        users = ["foobar", "foobar"]
        usersFile = "foobar"
        realm = "foobar"
        removeHeader = true
        headerField = "foobar"
    [http.middlewares.Middleware02]
      [http.middlewares.Middleware02.buffering]
        maxRequestBodyBytes = 42
        memRequestBodyBytes = 42
        maxResponseBodyBytes = 42
        memResponseBodyBytes = 42
        retryExpression = "foobar"
    [http.middlewares.Middleware03]
      [http.middlewares.Middleware03.chain]
        middlewares = ["foobar", "foobar"]
    [http.middlewares.Middleware04]
      [http.middlewares.Middleware04.circuitBreaker]
        expression = "foobar"
        checkPeriod = "42s"
        fallbackDuration = "42s"
        recoveryDuration = "42s"
    [http.middlewares.Middleware05]
      [http.middlewares.Middleware05.compress]
        excludedContentTypes = ["foobar", "foobar"]
        minResponseBodyBytes = 42
    [http.middlewares.Middleware06]
      [http.middlewares.Middleware06.contentType]
        autoDetect = true
    [http.middlewares.Middleware07]
      [http.middlewares.Middleware07.digestAuth]
        users = ["foobar", "foobar"]
        usersFile = "foobar"
        removeHeader = true
        realm = "foobar"
        headerField = "foobar"
    [http.middlewares.Middleware08]
      [http.middlewares.Middleware08.errors]
        status = ["foobar", "foobar"]
        service = "foobar"
        query = "foobar"
    [http.middlewares.Middleware09]
      [http.middlewares.Middleware09.forwardAuth]
        address = "foobar"
        trustForwardHeader = true
        authResponseHeaders = ["foobar", "foobar"]
        authResponseHeadersRegex = "foobar"
        authRequestHeaders = ["foobar", "foobar"]
        [http.middlewares.Middleware09.forwardAuth.tls]
          ca = "foobar"
          caOptional = true
          cert = "foobar"
          key = "foobar"
          insecureSkipVerify = true
    [http.middlewares.Middleware10]
      [http.middlewares.Middleware10.headers]
        accessControlAllowCredentials = true
        accessControlAllowHeaders = ["foobar", "foobar"]
        accessControlAllowMethods = ["foobar", "foobar"]
        accessControlAllowOriginList = ["foobar", "foobar"]
        accessControlAllowOriginListRegex = ["foobar", "foobar"]
        accessControlExposeHeaders = ["foobar", "foobar"]
        accessControlMaxAge = 42
        addVaryHeader = true
        allowedHosts = ["foobar", "foobar"]
        hostsProxyHeaders = ["foobar", "foobar"]
        sslRedirect = true
        sslTemporaryRedirect = true
        sslHost = "foobar"
        sslForceHost = true
        stsSeconds = 42
        stsIncludeSubdomains = true
        stsPreload = true
        forceSTSHeader = true
        frameDeny = true
        customFrameOptionsValue = "foobar"
        contentTypeNosniff = true
        browserXssFilter = true
        customBrowserXSSValue = "foobar"
        contentSecurityPolicy = "foobar"
        publicKey = "foobar"
        referrerPolicy = "foobar"
        featurePolicy = "foobar"
        permissionsPolicy = "foobar"
        isDevelopment = true
        [http.middlewares.Middleware10.headers.customRequestHeaders]
          name0 = "foobar"
          name1 = "foobar"
        [http.middlewares.Middleware10.headers.customResponseHeaders]
          name0 = "foobar"
          name1 = "foobar"
        [http.middlewares.Middleware10.headers.sslProxyHeaders]
          name0 = "foobar"
          name1 = "foobar"
    [http.middlewares.Middleware11]
      [http.middlewares.Middleware11.ipWhiteList]
        sourceRange = ["foobar", "foobar"]
        [http.middlewares.Middleware11.ipWhiteList.ipStrategy]
          depth = 42
          excludedIPs = ["foobar", "foobar"]
    [http.middlewares.Middleware12]
      [http.middlewares.Middleware12.inFlightReq]
        amount = 42
        [http.middlewares.Middleware12.inFlightReq.sourceCriterion]
          requestHeaderName = "foobar"
          requestHost = true
          [http.middlewares.Middleware12.inFlightReq.sourceCriterion.ipStrategy]
            depth = 42
            excludedIPs = ["foobar", "foobar"]
    [http.middlewares.Middleware13]
      [http.middlewares.Middleware13.passTLSClientCert]
        pem = true
        [http.middlewares.Middleware13.passTLSClientCert.info]
          notAfter = true
          notBefore = true
          sans = true
          serialNumber = true
          [http.middlewares.Middleware13.passTLSClientCert.info.subject]
            country = true
            province = true
            locality = true
            organization = true
            organizationalUnit = true
            commonName = true
            serialNumber = true
            domainComponent = true
          [http.middlewares.Middleware13.passTLSClientCert.info.issuer]
            country = true
            province = true
            locality = true
            organization = true
            commonName = true
            serialNumber = true
            domainComponent = true
    [http.middlewares.Middleware14]
      [http.middlewares.Middleware14.plugin]
        [http.middlewares.Middleware14.plugin.PluginConf]
          foo = "bar"
    [http.middlewares.Middleware15]
      [http.middlewares.Middleware15.rateLimit]
        average = 42
        period = "42s"
        burst = 42
        [http.middlewares.Middleware15.rateLimit.sourceCriterion]
          requestHeaderName = "foobar"
          requestHost = true
          [http.middlewares.Middleware15.rateLimit.sourceCriterion.ipStrategy]
            depth = 42
            excludedIPs = ["foobar", "foobar"]
    [http.middlewares.Middleware16]
      [http.middlewares.Middleware16.redirectRegex]
        regex = "foobar"
        replacement = "foobar"
        permanent = true
    [http.middlewares.Middleware17]
      [http.middlewares.Middleware17.redirectScheme]
        scheme = "foobar"
        port = "foobar"
        permanent = true
    [http.middlewares.Middleware18]
      [http.middlewares.Middleware18.replacePath]
        path = "foobar"
    [http.middlewares.Middleware19]
      [http.middlewares.Middleware19.replacePathRegex]
        regex = "foobar"
        replacement = "foobar"
    [http.middlewares.Middleware20]
      [http.middlewares.Middleware20.retry]
        attempts = 42
        initialInterval = "42s"
    [http.middlewares.Middleware21]
      [http.middlewares.Middleware21.stripPrefix]
        prefixes = ["foobar", "foobar"]
        forceSlash = true
    [http.middlewares.Middleware22]
      [http.middlewares.Middleware22.stripPrefixRegex]
        regex = ["foobar", "foobar"]
  [http.serversTransports]
    [http.serversTransports.ServersTransport0]
      serverName = "foobar"
      insecureSkipVerify = true
      rootCAs = ["foobar", "foobar"]
      maxIdleConnsPerHost = 42
      disableHTTP2 = true
      peerCertURI = "foobar"

      [[http.serversTransports.ServersTransport0.certificates]]
        certFile = "foobar"
        keyFile = "foobar"

      [[http.serversTransports.ServersTransport0.certificates]]
        certFile = "foobar"
        keyFile = "foobar"
      [http.serversTransports.ServersTransport0.forwardingTimeouts]
        dialTimeout = "42s"
        responseHeaderTimeout = "42s"
        idleConnTimeout = "42s"
        readIdleTimeout = "42s"
        pingTimeout = "42s"
    [http.serversTransports.ServersTransport1]
      serverName = "foobar"
      insecureSkipVerify = true
      rootCAs = ["foobar", "foobar"]
      maxIdleConnsPerHost = 42
      disableHTTP2 = true
      peerCertURI = "foobar"

      [[http.serversTransports.ServersTransport1.certificates]]
        certFile = "foobar"
        keyFile = "foobar"

      [[http.serversTransports.ServersTransport1.certificates]]
        certFile = "foobar"
        keyFile = "foobar"
      [http.serversTransports.ServersTransport1.forwardingTimeouts]
        dialTimeout = "42s"
        responseHeaderTimeout = "42s"
        idleConnTimeout = "42s"
        readIdleTimeout = "42s"
        pingTimeout = "42s"

[tcp]
  [tcp.routers]
    [tcp.routers.TCPRouter0]
      entryPoints = ["foobar", "foobar"]
      middlewares = ["foobar", "foobar"]
      service = "foobar"
      rule = "foobar"
      priority = 42
      [tcp.routers.TCPRouter0.tls]
        passthrough = true
        options = "foobar"
        certResolver = "foobar"

        [[tcp.routers.TCPRouter0.tls.domains]]
          main = "foobar"
          sans = ["foobar", "foobar"]

        [[tcp.routers.TCPRouter0.tls.domains]]
          main = "foobar"
          sans = ["foobar", "foobar"]
    [tcp.routers.TCPRouter1]
      entryPoints = ["foobar", "foobar"]
      middlewares = ["foobar", "foobar"]
      service = "foobar"
      rule = "foobar"
      priority = 42
      [tcp.routers.TCPRouter1.tls]
        passthrough = true
        options = "foobar"
        certResolver = "foobar"

        [[tcp.routers.TCPRouter1.tls.domains]]
          main = "foobar"
          sans = ["foobar", "foobar"]

        [[tcp.routers.TCPRouter1.tls.domains]]
          main = "foobar"
          sans = ["foobar", "foobar"]
  [tcp.services]
    [tcp.services.TCPService01]
      [tcp.services.TCPService01.loadBalancer]
        terminationDelay = 42
        [tcp.services.TCPService01.loadBalancer.proxyProtocol]
          version = 42

        [[tcp.services.TCPService01.loadBalancer.servers]]
          address = "foobar"

        [[tcp.services.TCPService01.loadBalancer.servers]]
          address = "foobar"
    [tcp.services.TCPService02]
      [tcp.services.TCPService02.weighted]

        [[tcp.services.TCPService02.weighted.services]]
          name = "foobar"
          weight = 42

        [[tcp.services.TCPService02.weighted.services]]
          name = "foobar"
          weight = 42
  [tcp.middlewares]
    [tcp.middlewares.TCPMiddleware00]
      [tcp.middlewares.TCPMiddleware00.ipWhiteList]
        sourceRange = ["foobar", "foobar"]
    [tcp.middlewares.TCPMiddleware01]
      [tcp.middlewares.TCPMiddleware01.inFlightConn]
        amount = 42

[udp]
  [udp.routers]
    [udp.routers.UDPRouter0]
      entryPoints = ["foobar", "foobar"]
      service = "foobar"
    [udp.routers.UDPRouter1]
      entryPoints = ["foobar", "foobar"]
      service = "foobar"
  [udp.services]
    [udp.services.UDPService01]
      [udp.services.UDPService01.loadBalancer]

        [[udp.services.UDPService01.loadBalancer.servers]]
          address = "foobar"

        [[udp.services.UDPService01.loadBalancer.servers]]
          address = "foobar"
    [udp.services.UDPService02]
      [udp.services.UDPService02.weighted]

        [[udp.services.UDPService02.weighted.services]]
          name = "foobar"
          weight = 42

        [[udp.services.UDPService02.weighted.services]]
          name = "foobar"
          weight = 42

[tls]

  [[tls.certificates]]
    certFile = "foobar"
    keyFile = "foobar"
    stores = ["foobar", "foobar"]

  [[tls.certificates]]
    certFile = "foobar"
    keyFile = "foobar"
    stores = ["foobar", "foobar"]
  [tls.options]
    [tls.options.Options0]
      minVersion = "foobar"
      maxVersion = "foobar"
      cipherSuites = ["foobar", "foobar"]
      curvePreferences = ["foobar", "foobar"]
      sniStrict = true
      preferServerCipherSuites = true
      alpnProtocols = ["foobar", "foobar"]
      [tls.options.Options0.clientAuth]
        caFiles = ["foobar", "foobar"]
        clientAuthType = "foobar"
    [tls.options.Options1]
      minVersion = "foobar"
      maxVersion = "foobar"
      cipherSuites = ["foobar", "foobar"]
      curvePreferences = ["foobar", "foobar"]
      sniStrict = true
      preferServerCipherSuites = true
      alpnProtocols = ["foobar", "foobar"]
      [tls.options.Options1.clientAuth]
        caFiles = ["foobar", "foobar"]
        clientAuthType = "foobar"
  [tls.stores]
    [tls.stores.Store0]
      [tls.stores.Store0.defaultCertificate]
        certFile = "foobar"
        keyFile = "foobar"
      [tls.stores.Store0.defaultGeneratedCert]
        resolver = "foobar"
        [tls.stores.Store0.defaultGeneratedCert.domain]
          main = "foobar"
          sans = ["foobar", "foobar"]
    [tls.stores.Store1]
      [tls.stores.Store1.defaultCertificate]
        certFile = "foobar"
        keyFile = "foobar"
      [tls.stores.Store1.defaultGeneratedCert]
        resolver = "foobar"
        [tls.stores.Store1.defaultGeneratedCert.domain]
          main = "foobar"
          sans = ["foobar", "foobar"]
