0cc49c053f
caddytls: Zero out throttle window first ( #5443 )
...
* caddytls: Zero out throttle window first
* Don't error for on-demand
Fixes b97c76fb47
---------
Co-authored-by: Francis Lavoie <lavofr@gmail.com >
2023-03-20 12:06:00 -06:00
2182270a2c
reverseproxy: Reset Content-Length to prevent FastCGI from hanging ( #5435 )
...
Fixes: https://github.com/caddyserver/caddy/issues/5420
2023-03-16 11:42:16 -06:00
a7af7c486e
caddytls: Allow on-demand w/o ask for internal-only
2023-03-14 10:29:27 -06:00
b97c76fb47
caddytls: Require 'ask' endpoint for on-demand TLS
2023-03-14 10:02:44 -06:00
6cc3cbbc69
fileserver: New file browse template ( #5427 )
...
* fileserver: New file browse template
* Redo extension/icon logic; minor color tweaks
* Fine-tune image display
2023-03-10 18:19:31 +00:00
b420561737
tracing: Support autoprop from OTEL_PROPAGATORS ( #5147 )
...
Co-authored-by: Matt Holt <mholt@users.noreply.github.com >
2023-03-09 09:02:35 -07:00
b3f0cea2c3
encode: flush status code when hijacked. ( #5419 )
2023-03-06 09:13:48 -07:00
94d41a9d86
fileserver: Remove trailing slash on fs filenames ( #5417 )
2023-03-03 14:45:17 -07:00
99d47050e9
core: Eliminate unnecessary shutdown delay on Unix ( #5413 )
...
* core: Eliminate unnecessary shutdown delay on Unix
Fix #5393 , alternate to #5405
* Comments, cleanup, adjust logs
* Fix build constraint
2023-03-03 04:00:18 +00:00
85375861f6
caddyhttp: Fix vars_regexp
matcher with placeholders ( #5408 )
...
Changed to match the `vars` matcher's logic for handling placeholders
2023-03-02 09:01:54 -07:00
f6bab8ba85
context: Rename func to AppIfConfigured
( #5397 )
2023-02-27 18:58:27 +00:00
941eae5f61
reverseproxy: allow specifying ip version for dynamic a
upstream ( #5401 )
...
Co-authored-by: Francis Lavoie <lavofr@gmail.com >
2023-02-27 17:23:09 +00:00
960150bb03
caddyfile: Implement heredoc support ( #5385 )
2023-02-26 00:34:27 +00:00
9e6919550b
cmd: Expand cobra support, add short flags ( #5379 )
...
* cmd: Expand cobra support
* Convert commands to cobra, add short flags
* Fix version command typo
Co-authored-by: Emily Lange <git@indeednotjames.com >
* Apply suggestions from code review
Co-authored-by: Matt Holt <mholt@users.noreply.github.com >
---------
Co-authored-by: Emily Lange <git@indeednotjames.com >
Co-authored-by: Matt Holt <mholt@users.noreply.github.com >
2023-02-24 16:09:12 -07:00
e3909cc385
reverseproxy: refactor HTTP transport layer ( #5369 )
...
Co-authored-by: Francis Lavoie <lavofr@gmail.com >
Co-authored-by: Weidi Deng <weidi_deng@icloud.com >
2023-02-24 19:54:04 +00:00
be53e432fc
caddytls: Relax the warning for on-demand ( #5384 )
2023-02-22 11:41:01 -07:00
5ded580444
cmd: Adjust documentation for commands ( #5377 )
2023-02-16 09:14:07 -07:00
4b119a475f
reverseproxy: Don't buffer chunked requests ( fix #5366 ) ( #5367 )
...
* reverseproxy: Don't buffer chunked requests (fix #5366 )
Mostly reverts 845bc4d50b437995d574819850206e4b3db4040d (#5289 )
Adds warning for unsafe config.
Deprecates unsafe properties in favor of simpler, safer designed ones.
* Update modules/caddyhttp/reverseproxy/caddyfile.go
Co-authored-by: Y.Horie <u5.horie@gmail.com >
* Update modules/caddyhttp/reverseproxy/reverseproxy.go
Co-authored-by: Y.Horie <u5.horie@gmail.com >
* Update modules/caddyhttp/reverseproxy/reverseproxy.go
Co-authored-by: Y.Horie <u5.horie@gmail.com >
* Remove unused code
---------
Co-authored-by: Y.Horie <u5.horie@gmail.com >
2023-02-11 17:25:29 -07:00
90798f3eea
go.mod: Upgrade various dependencies ( #5362 )
...
* chore: Upgrade various dependencies
* Support CEL file matcher with no args
* Document `http.request.orig_uri.path.*`, reorder placeholders in docs
---------
Co-authored-by: Matt Holt <mholt@users.noreply.github.com >
2023-02-08 17:49:17 +00:00
536c28d4dc
core: Support Windows absolute paths for UDS proxy upstreams ( #5114 )
...
* added some tests for parseUpstreamDialAddress
Test 4 fails because it produces "[[::1]]:80" instead of "[::1]:80"
* support absolute windows path in unix reverse proxy address
* make IsUnixNetwork public, support +h2c and reuse it
* add new tests
2023-02-08 10:05:09 -07:00
c77a6bea66
reverseproxy: Log status code and byte count for websockets ( #5140 )
...
* log response size for websocket request
* record size when using hijack bufio.Writer
2023-02-06 16:14:59 -07:00
12bcbe2c49
caddyhttp: Pluggable trusted proxy IP range sources ( #5328 )
...
* caddyhttp: Pluggable trusted proxy IP range sources
* Add request to the IPRangeSource interface
2023-02-06 12:44:11 -07:00
8d3a1b8bcb
caddyauth: Use singleflight for basic auth ( #5344 )
...
* caddyauth: Add singleflight for basic auth
* Fixes #5338
* it occurred the thunder herd problem like this https://medium.com/@mhrlife/avoid-duplicate-requests-while-filling-cache-98c687879f59
* Update modules/caddyhttp/caddyauth/basicauth.go
Fix comment
Co-authored-by: Francis Lavoie <lavofr@gmail.com >
---------
Co-authored-by: Francis Lavoie <lavofr@gmail.com >
Co-authored-by: Matt Holt <mholt@users.noreply.github.com >
2023-02-06 18:29:03 +00:00
e62b5fb586
chore: Build with Go 1.20, keep minimum at 1.18 for now ( #5353 )
2023-02-06 11:29:20 -05:00
201b9b41f9
chore: Fix warning "range variable captured by func literal" ( #5348 )
2023-01-31 03:07:57 -05:00
0a3efd1641
caddytls: Debug log for ask endpoint
2023-01-30 09:30:53 -07:00
e9d95ab29f
reverseproxy: Add flag to short command to disable redirects ( #5330 )
...
Co-authored-by: Francis Lavoie <lavofr@gmail.com >
Fixes undefined
2023-01-25 09:40:08 -05:00
962310204f
tracing: Support placeholders in span name ( #5329 )
...
Fixes https://github.com/caddyserver/caddy/issues/5171
2023-01-25 02:26:44 -05:00
223cbe3d0b
caddyhttp: Add server-level trusted_proxies
config ( #5103 )
2023-01-10 00:08:23 -05:00
845bc4d50b
reverseproxy: Fix hanging for Transfer-Encoding: chunked ( #5289 )
...
* Fixes #5236
* enable request body buffering in reverse proxy
when the request header has Transfer-Encoding: chunked
2023-01-09 00:13:34 -07:00
e450a7377b
reverseproxy: Don't enable auto-https when --from
flag is http ( #5269 )
2023-01-06 15:42:07 -05:00
d74f6fd967
reverseproxy: Set origreq in active health check ( #5284 )
...
* reverseproxy: Set origreq in active health check
Fix #5281
* Oops; dereference Request
2023-01-06 15:06:38 -05:00
55035d327a
caddytls: Add dns_ttl
config, improve Caddyfile tls
options ( #5287 )
2023-01-06 14:44:00 -05:00
4e9ad50f65
fileserver: Add a couple test cases
...
With placeholders
2023-01-04 11:07:27 -07:00
dac7cacd4d
encode: Respect Cache-Control no-transform ( #5257 )
...
* encode: respect Cache-Control HTTP header no-transform
* encode: switch to strings.Contains
2022-12-20 13:26:53 -07:00
fac35db9dc
go.mod: Update quic-go to v0.31.0
...
And fix a comment typo
2022-12-08 08:55:04 -07:00
bfaf2a8201
acme_server: Configurable default lifetime for issued certificates ( #5232 )
...
* acme_server: add certificate lifetime configuration option
Signed-off-by: Kyle McCullough <kylemcc@gmail.com >
* pki: allow intermediate cert lifetime to be configured
Signed-off-by: Kyle McCullough <kylemcc@gmail.com >
Signed-off-by: Kyle McCullough <kylemcc@gmail.com >
2022-12-06 00:12:26 -07:00
d4a7d89f56
reverseproxy: Improve hostByHashing distribution ( #5229 )
...
* If upstreams are all using same host but with different ports
ie:
foobar:4001
foobar:4002
foobar:4003
...
Because fnv-1a has not a good enough avalanche effect
Then the hostByHashing result is not well balanced over
all upstreams
As last byte FNV input tend to affect few bits, the idea is to change
the concatenation order between the key and the upstream strings
So the upstream last byte have more impact on hash diffusion
2022-12-05 11:28:12 -07:00
ae77a56ac8
Clarify some docs
2022-11-30 16:03:31 -07:00
6f8fe01da1
caddypki: Use go.step.sm/crypto to generate the PKI ( #5217 )
...
This commit replaces the use of github.com/smallstep/cli to generate the
root and intermediate certificates and uses go.step.sm/crypto instead.
It also upgrades the version of github.com/smallstep/certificates to the
latest version.
2022-11-23 20:47:42 -07:00
ee7c92ec9b
reverseproxy: Mask the WS close message when we're the client ( #5199 )
...
* reverseproxy: Mask the WS close message when we're the client
* weakrand
* Bump golangci-lint version so path ignores work on Windows
* gofmt
* ugh, gofmt everything, I guess
2022-11-14 09:38:02 -07:00
33fdea8f26
caddypki: Prefer user-configured root instead of generating new one ( #5189 )
...
instead of generating a new root certificate at the default location
load the certificate from the configuration.
fixes : #5181
2022-11-08 12:13:46 -07:00
087f126cf4
caddyhttp: Canonicalize header field names ( #5176 )
2022-10-29 16:35:44 -04:00
ed503118dd
caddyhttp: add placeholder {http.request.orig_uri.path.*} ( #5161 )
2022-10-24 11:57:50 -06:00
a3ae146cbd
fileserver: Reject non-GET/HEAD requests ( close #5166 ) ( #5167 )
...
* fileserver: Reject non-GET/HEAD requests (close #5166 )
* Set Allow header according to RFC 9110 10.2.1
2022-10-24 10:23:57 -06:00
4bf6cb4199
fileserver: Reject ADS and short name paths; trim trailing dots and spaces on Windows ( #5148 )
...
* fileserver: Reject ADS and short name paths
* caddyhttp: Trim trailing space and dot on Windows
Windows ignores trailing dots and spaces in filenames.
* Fix test
* Adjust path filters
* Revert Windows test
* Actually revert the test
* Just check for colons
2022-10-18 21:55:25 -06:00
72e7edda1f
map: Clarified how destination values should be formatted ( #5156 )
2022-10-18 18:14:53 -06:00
1cd594963e
docs: Fix templates documentation, stray newline breaks godoc ( #5149 )
2022-10-16 12:25:44 -04:00
6bad878a22
httpcaddyfile: Improve detection of indistinguishable TLS automation policies ( #5120 )
...
* httpcaddyfile: Skip some logic if auto_https off
* Try removing this check altogether...
* Refine test timeouts slightly, sigh
* caddyhttp: Assume udp for unrecognized network type
Seems like the reasonable thing to do if a plugin registers its own
network type.
* Add comment to document my lack of knowledge
* Clean up and prepare to merge
Add comments to try to explain what happened
2022-10-13 11:30:57 -06:00
3e1fd2a8d4
httpcaddyfile: Wrap site block in subroute if host matcher used ( #5130 )
...
* httpcaddyfile: Wrap site block in subroute if host matcher used (fix #5124 )
* Correct boolean logic (oops)
2022-10-12 09:27:08 -06:00