Matt Holt
a02ecb0f88
caddytls: Check for nil ALPN; close #5470 ( #5473 )
...
* Check for nil ALPN; close #5470
* Apply patch
* Actually I want to try this
2023-05-13 07:09:20 -06:00
jjiang-stripe
cfc85ae8ca
caddyhttp: Add a getter for Server.name ( #5531 )
2023-05-11 10:34:05 -06:00
Matt Holt
faf0399e80
caddytls: Configurable fallback SNI ( #5527 )
...
* Initial implementation of fallback_sni
* Apply upstream patch
2023-05-10 14:29:29 -06:00
Francis Lavoie
b19946f6af
reverseproxy: Optimize base case for least_conn and random_choose policies ( #5487 )
...
When only a single request has the least amount of requests, there's no need to compute a random number, because the modulo of 1 will always be 0 anyways.
2023-05-05 20:53:48 -06:00
Francis Lavoie
335cd2e8a4
reverseproxy: Fix active health check header canonicalization, refactor ( #5446 )
2023-05-05 15:19:22 -06:00
Francis Lavoie
48598e1f2a
reverseproxy: Add fallback
for some policies, instead of always random ( #5488 )
2023-05-05 15:08:10 -06:00
Matthew Holt
cdce452edc
logging: Actually honor the SoftStart parameter
2023-05-04 16:30:34 -06:00
Matthew Holt
f3e8b9d95f
logging: Soft start for net writer ( close #5520 )
...
If enabled and there is an error when opening the net writer, ignore the
error and report it along with subsequent logs to stderr.
2023-05-04 16:29:03 -06:00
eanavitarte
c8032867b1
fastcgi: Fix capture_stderr
( #5515 )
2023-05-04 00:40:49 +00:00
Francis Lavoie
3f20a7c9f3
acmeserver: Configurable resolvers
, fix smallstep deprecations ( #5500 )
...
* acmeserver: Configurable `resolvers`, fix smallstep deprecations
* Improve default net/port
* Update proxy resolvers parsing to use the new function
* Update listeners.go
Co-authored-by: itsxaos <33079230+itsxaos@users.noreply.github.com>
---------
Co-authored-by: itsxaos <33079230+itsxaos@users.noreply.github.com>
2023-05-03 17:07:22 +00:00
Dave Henderson
f0e3981774
logging: Add traceID field to access logs when tracing is active ( #5507 )
...
Co-authored-by: Francis Lavoie <lavofr@gmail.com>
2023-04-27 02:46:41 +00:00
Kévin Dunglas
1c9ea0113d
caddyhttp: Impl ResponseWriter.Unwrap()
, prep for Go 1.20's ResponseController
( #5509 )
...
* feat: add support for ResponseWriter.Unwrap()
* cherry-pick Francis' code
2023-04-26 19:44:01 -04:00
Y.Horie
2b04e09fa7
reverseproxy: Fix reinitialize upstream healthy metrics ( #5498 )
...
Co-authored-by: Dávid Szabó <david.szabo97@gmail.com>
2023-04-25 09:59:26 -06:00
cui fliter
3443a8a056
fix some comments ( #5508 )
...
Signed-off-by: cui fliter <imcusg@gmail.com>
2023-04-25 09:54:42 -06:00
Stéphane Mourey
2943c41884
templates: Add fileStat
function ( #5497 )
...
* Add isDir template function
* Update modules/caddyhttp/templates/tplcontext.go
Co-authored-by: Mohammed Al Sahaf <msaa1990@gmail.com>
* Fix funcIsDir return value on error
* Fix funcIsDir return false when root file system not specified
* Add stat function, remove isDir function
* Remove isDir function (really)
* Rename stat to fileStat
---------
Co-authored-by: Mohammed Al Sahaf <msaa1990@gmail.com>
2023-04-24 10:36:37 -06:00
Francis Lavoie
53b6fab125
caddyfile: Stricter parsing, error for brace on new line ( #5505 )
2023-04-20 18:43:51 +00:00
Francis Lavoie
b301a3df70
celmatcher: Implement pkix.Name
conversion to string ( #5492 )
2023-04-19 11:55:22 -04:00
Francis Lavoie
4636109ce1
reverseproxy: Remove deprecated lookup_srv
( #5396 )
2023-04-10 20:08:40 +00:00
WeidiDeng
d8d87a378f
caddyhttp: Serve http2 when listener wrapper doesn't return *tls.Conn ( #4929 )
...
* Serve http2 when listener wrapper doesn't return *tls.Conn
* close conn when h2server serveConn returns
* merge from upstream
* rebase from latest
* run New and Closed ConnState hook for h2 conns
* go fmt
* fix lint
* Add comments
* reorder import
2023-04-10 17:05:02 +00:00
Francis Lavoie
f8b59e77f8
reverseproxy: Add query
and client_ip_hash
lb policies ( #5468 )
2023-04-04 03:31:47 +00:00
Kid
f9bd2d3e92
fileserver: Add color-scheme meta tag ( #5475 )
2023-04-02 22:44:21 -04:00
Corin Langosch
b6fe5d4b41
proxyprotocol: Add PROXY protocol support to reverse_proxy
, add HTTP listener wrapper ( #5424 )
...
Co-authored-by: WeidiDeng <weidi_deng@icloud.com>
Co-authored-by: Francis Lavoie <lavofr@gmail.com>
2023-03-31 17:44:53 -04:00
Francis Lavoie
66e571e687
reverseproxy: Add mention of which half a copyBuffer err comes from ( #5472 )
...
Co-authored-by: Matt Holt <mholt@users.noreply.github.com>
2023-03-31 15:46:29 -04:00
Francis Lavoie
2b3046de36
caddyhttp: Log request body bytes read ( #5461 )
2023-03-27 22:40:15 +00:00
Mohammed Al Sahaf
1aef807c71
log: Make sink logs encodable ( #5441 )
...
* log: make `sink` encodable
* deduplicate logger fields
* extract common fields into `BaseLog` and embed it into `SinkLog`
* amend godoc on `BaseLog` and `SinkLog`
* minor style change
---------
Co-authored-by: Francis Lavoie <lavofr@gmail.com>
2023-03-27 21:41:24 +00:00
Francis Lavoie
e16a886814
caddytls: Eval replacer on automation policy subjects ( #5459 )
...
Also renamed the field to SubjectsRaw, which can be considered a breaking change but I don't expect this to affect much.
2023-03-27 21:16:22 +00:00
黑墨水鱼
dd86171d67
headers: Support deleting all headers as first op ( #5464 )
...
* Delete all existing fields when fieldName is `*`
* Rearrange deletion before addition in headers
* Revert "Rearrange deletion before addition in headers"
This reverts commit 1b50eeeccc92ccd660c7896d8283c7d9e5d1fcb0.
* Treat deleting all headers as a special case
* Apply suggestions from code review
Co-authored-by: Matt Holt <mholt@users.noreply.github.com>
---------
Co-authored-by: Matt Holt <mholt@users.noreply.github.com>
2023-03-27 21:05:18 +00:00
Francis Lavoie
10b265d252
reverseproxy: Header up/down support for CLI command ( #5460 )
2023-03-27 20:35:31 +00:00
Francis Lavoie
05e9974570
caddyhttp: Determine real client IP if trusted proxies configured ( #5104 )
...
* caddyhttp: Determine real client IP if trusted proxies configured
* Support customizing client IP header
* Implement client_ip matcher, deprecate remote_ip's forwarded option
2023-03-27 20:22:59 +00:00
Matt Holt
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
Trea Hauet
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
Matthew Holt
a7af7c486e
caddytls: Allow on-demand w/o ask for internal-only
2023-03-14 10:29:27 -06:00
Matthew Holt
b97c76fb47
caddytls: Require 'ask' endpoint for on-demand TLS
2023-03-14 10:02:44 -06:00
Matt Holt
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
Chris Reeves
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
WeidiDeng
b3f0cea2c3
encode: flush status code when hijacked. ( #5419 )
2023-03-06 09:13:48 -07:00
esell
94d41a9d86
fileserver: Remove trailing slash on fs filenames ( #5417 )
2023-03-03 14:45:17 -07:00
Matt Holt
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
Francis Lavoie
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
Francis Lavoie
f6bab8ba85
context: Rename func to AppIfConfigured
( #5397 )
2023-02-27 18:58:27 +00:00
Emily Lange
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
Francis Lavoie
960150bb03
caddyfile: Implement heredoc support ( #5385 )
2023-02-26 00:34:27 +00:00
Francis Lavoie
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
Mohammed Al Sahaf
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
Francis Lavoie
be53e432fc
caddytls: Relax the warning for on-demand ( #5384 )
2023-02-22 11:41:01 -07:00
Francis Lavoie
5ded580444
cmd: Adjust documentation for commands ( #5377 )
2023-02-16 09:14:07 -07:00
Matt Holt
4b119a475f
reverseproxy: Don't buffer chunked requests ( fix #5366 ) ( #5367 )
...
* reverseproxy: Don't buffer chunked requests (fix #5366 )
Mostly reverts 845bc4d50b
(#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
Francis Lavoie
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
Steffen Brüheim
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
WeidiDeng
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