Feature: add udp timeout configuration
This commit is contained in:
parent
e5a01c7cc8
commit
fc7ec17905
13 changed files with 98 additions and 22 deletions
|
@ -171,6 +171,9 @@ ReadTimeout is the maximum duration for reading the entire request, including th
|
|||
`--entrypoints.<name>.transport.respondingtimeouts.writetimeout`:
|
||||
WriteTimeout is the maximum duration before timing out writes of the response. If zero, no timeout is set. (Default: ```0```)
|
||||
|
||||
`--entrypoints.<name>.udp.timeout`:
|
||||
Timeout defines how long to wait on an idle session before releasing the related resources. (Default: ```3```)
|
||||
|
||||
`--experimental.devplugin.gopath`:
|
||||
plugin's GOPATH.
|
||||
|
||||
|
|
|
@ -171,6 +171,9 @@ ReadTimeout is the maximum duration for reading the entire request, including th
|
|||
`TRAEFIK_ENTRYPOINTS_<NAME>_TRANSPORT_RESPONDINGTIMEOUTS_WRITETIMEOUT`:
|
||||
WriteTimeout is the maximum duration before timing out writes of the response. If zero, no timeout is set. (Default: ```0```)
|
||||
|
||||
`TRAEFIK_ENTRYPOINTS_<NAME>_UDP_TIMEOUT`:
|
||||
Timeout defines how long to wait on an idle session before releasing the related resources. (Default: ```3```)
|
||||
|
||||
`TRAEFIK_EXPERIMENTAL_DEVPLUGIN_GOPATH`:
|
||||
plugin's GOPATH.
|
||||
|
||||
|
|
|
@ -29,6 +29,8 @@
|
|||
[entryPoints.EntryPoint0.forwardedHeaders]
|
||||
insecure = true
|
||||
trustedIPs = ["foobar", "foobar"]
|
||||
[entryPoints.EntryPoint0.udp]
|
||||
timeout = 42
|
||||
[entryPoints.EntryPoint0.http]
|
||||
middlewares = ["foobar", "foobar"]
|
||||
[entryPoints.EntryPoint0.http.redirections]
|
||||
|
|
|
@ -33,6 +33,8 @@ entryPoints:
|
|||
- foobar
|
||||
- foobar
|
||||
enableHTTP3: true
|
||||
udp:
|
||||
timeout: 42
|
||||
http:
|
||||
redirections:
|
||||
entryPoint:
|
||||
|
|
|
@ -864,3 +864,35 @@ entryPoints:
|
|||
--entrypoints.websecure.address=:443
|
||||
--entrypoints.websecure.http.tls.certResolver=leresolver
|
||||
```
|
||||
|
||||
## UDP Options
|
||||
|
||||
This whole section is dedicated to options, keyed by entry point, that will apply only to UDP routing.
|
||||
|
||||
### Timeout
|
||||
|
||||
_Optional, Default=3s_
|
||||
|
||||
Timeout defines how long to wait on an idle session before releasing the related resources.
|
||||
The Timeout value must be greater than zero.
|
||||
|
||||
```toml tab="File (TOML)"
|
||||
[entryPoints.foo]
|
||||
address = ":8000/udp"
|
||||
|
||||
[entryPoints.foo.udp]
|
||||
timeout = "10s"
|
||||
```
|
||||
|
||||
```yaml tab="File (YAML)"
|
||||
entryPoints:
|
||||
foo:
|
||||
address: ':8000/udp'
|
||||
udp:
|
||||
timeout: 10s
|
||||
```
|
||||
|
||||
```bash tab="CLI"
|
||||
entrypoints.foo.address=:8000/udp
|
||||
entrypoints.foo.udp.timeout=10s
|
||||
```
|
||||
|
|
|
@ -982,8 +982,9 @@ So UDP "routers" at this time are pretty much only load-balancers in one form or
|
|||
It basically means that some state is kept about an ongoing communication between a client and a backend,
|
||||
notably so that the proxy knows where to forward a response packet from a backend.
|
||||
As expected, a `timeout` is associated to each of these sessions,
|
||||
so that they get cleaned out if they go through a period of inactivity longer than a given duration (that is hardcoded to 3 seconds for now).
|
||||
Making this timeout configurable will be considered later if we get more usage feedback on this matter.
|
||||
so that they get cleaned out if they go through a period of inactivity longer than a given duration.
|
||||
Timeout can be configured using the `entryPoints.name.udp.timeout` option as described
|
||||
under [entry points](../entrypoints/#udp-options).
|
||||
|
||||
### EntryPoints
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue