+ This is the default transport module. It crafts a proxied HTTP request to obtain an HTTP response from the backend.
+
+
+
+
+
DNS resolvers
+
+ The system resolvers are used by default, but you can specify custom DNS resolvers per proxy handler.
+
+
+
+
TLS
+
+ Caddy can be configured to support TLS (formerly known as SSL) to the upstream.
+
+
+ - Custom root CA pool
+ - Client authentication to backend
+ - Custom handshake timeout
+ - Server Name Indicator (SNI)
+ - Renegotiation level
+ - Exempt certain ports from TLS
+
+
+
+
Connection pooling
+
+ Connections to backends are pooled for maximum efficiency and minimal latency.
+
+
+ - HTTP Keep-Alive
+ - Custom probe interval
+ - Maximum idle connections (total and per-host)
+ - Idle connection timeout
+
+
+
+
Compression
+
+ Caddy can compress requests for the roundtrip with the backend.
+
+
+ Gzip
+
+
+
+
Connection limit
+
+ You can limit the number of connections per host.
+
+
+
+
PROXY Protocol
+
+ The PROXY Protocol v1 and v2 are both supported when connecting to upstreams.
+
+
+
+
Timeouts
+
+ Various timeouts can be configured; some have sensible default values.
+
+
+ - Connection (dial)
+ - RFC 6555 fallback
+ - Reading response headers
+ - Expect continue
+ - Read
+ - Write
+
+
+
+
Custom buffer sizes
+
+ Tune the size of read/write buffers if you find that your application performs better with certain settings.
+
+
+ - Read buffers
+ - Write buffers
+
+
+
+
HTTP versions
+
+ Caddy's proxy supports multiple HTTP versions with the backend. By default, HTTP/1.1 and HTTP/2 are supported.
+
+
+ - HTTP/1.1
+ - HTTP/2
+ - H2C (HTTP/2 over cleartext)
+
+
+