Caddy(8)
π Caddy(8) β caddy-reverse-proxy π
okay bestie, welcome to the caddy-reverse-proxy page from the Caddy(8) manual, and no cap this one is a whole vibe β¨
πΈ NAME πΈ
caddy-reverse-proxy β a quick and production-ready reverse proxy π«Ά
β¨ SYNOPSIS β¨
[--insecure] [--internal-certs] [--disable-redirects] [--header-up
"Field: value"] [--header-down "Field: value"] [--access-log] [--debug]
[flags]
π¦ DESCRIPTION π¦
A simple but production-ready reverse proxy. It's giving "I set this up in like four seconds for a demo" energy. Super useful for quick deployments, demos, and development π
Literally all it does is shuttle HTTP(S) traffic from the --from address to the --to address. That's it. That's the whole job. And you can specify multiple --to addresses by repeating the flag, periodt π
Unless the addresses themselves say otherwise, the --from address is assumed to be HTTPS if a hostname is given, and the --to address is assumed to be HTTP. So it just... knows. main character energy fr fr.
If the --from address has a host or IP, Caddy will attempt to serve the proxy over HTTPS with a certificate β unless that's overridden by the HTTP scheme or port. Not me being polite about it, it literally respects your override π
π If serving HTTPS:
--disable-redirectscan be used to avoid binding to the HTTP port.--internal-certscan be used to force issuance certs using the internal CA instead of attempting to issue a public certificate.
π₯ For proxying:
--header-upcan be used to set a request header to send to the upstream.--header-downcan be used to set a response header to send back to the client.--change-host-headersets theHostheader on the request to the address of the upstream, instead of defaulting to the incomingHostheader. This is a shortcut for--header-up "Host: {http.reverse_proxy.upstream.hostport}". Ate. π--insecuredisables TLS verification with the upstream. WARNING: THIS DISABLES SECURITY BY NOT VERIFYING THE UPSTREAM'S CERTIFICATE. bestie I'm begging you, know what you're doing here π
π OPTIONS π
--access-log[=false]β Enable the access log. You get receipts β¨-c,--change-host-header[=false]β Set upstreamHostheader to address of upstream.-v,--debug[=false]β Enable verbose debug logs. Chaos, but make it legible π-r,--disable-redirects[=false]β Disable HTTP->HTTPS redirects.-f,--from="localhost"β Address on which to receive traffic.-d,--header-down=[]β Set a response header to send back to the client (format:"Field: value").-H,--header-up=[]β Set a request header to send to the upstream (format:"Field: value").-h,--help[=false]β help for reverse-proxy.--insecure[=false]β Disable TLS verification (WARNING: DISABLES SECURITY BY NOT VERIFYING TLS CERTIFICATES! π¨).-i,--internal-certs[=false]β Use internal CA for issuing certs.-t,--to=[]β Upstream address(es) to which traffic should be sent.
π«Ά SEE ALSO π«Ά
caddy(8)β go read the big one, iykyk π
π HISTORY π
1-Jan-0001 β Auto generated by spf13/cobra π§
aaaand that's the whole page bestie πΈ this one was auto generated by spf13/cobra, dated Jan 0001, living in the Caddy(8) manual. slay, go proxy something πβ¨π
π¦ where this page comes from
- ubuntu stonking: caddy 2.11.4-1 Β· Apache-2.0
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms