Matt Holt
9ba999141b
caddyhttp: Trace individual middleware handlers ( #6313 )
...
* caddyhttp: Trace individual middleware handlers
* Fix typo
2024-05-18 14:48:42 -06:00
deneb
f98f449f05
templates: Add pathEscape
template function and use it in file browser ( #6278 )
...
* use url.PathEscape in file-server browse template
- add `pathEscape` to c.tpl.Funcs, using `url.PathEscape`
- use `pathEscape` in browse.html in place of `replace`
* document `pathEscape`
* Remove unnecessary pipe of img src to `html`
2024-05-18 12:55:36 -06:00
Will Norris
e66040a6f0
caddytls: set server name in context ( #6324 )
...
Set the requested server name in a context value for CertGetter
implementations to use. Pass ctx to tscert.GetCertificateWithContext.
Signed-off-by: Will Norris <will@tailscale.com>
2024-05-18 03:52:19 -06:00
Mohammed Al Sahaf
44860482d2
chore: downgrade minimum Go version in go.mod ( #6318 )
...
* chore: downgrade minimum Go version in go.mod
* Upgrade certmagic and zerossl
---------
Co-authored-by: Matthew Holt <mholt@users.noreply.github.com>
2024-05-15 19:28:34 +00:00
Mohammed Al Sahaf
4c90f1427f
caddytest: normalize the JSON config ( #6316 )
...
* caddytest: normalize the JSON config
2024-05-14 07:50:14 +00:00
Kévin Dunglas
fb63e2e40c
caddyhttp: New experimental handler for intercepting responses ( #6232 )
...
* feat: add generic response interceptors
* fix: cs
* rename intercept
* add some docs
* @francislavoie review (first round)
* Update modules/caddyhttp/intercept/intercept.go
Co-authored-by: Francis Lavoie <lavofr@gmail.com>
* shorthands: ir to resp
* mark exported symbols as experimental
---------
Co-authored-by: Francis Lavoie <lavofr@gmail.com>
2024-05-13 17:38:18 +00:00
Matthew Holt
583c585c81
httpcaddyfile: Set challenge ports when http_port or https_port are used
2024-05-11 21:39:56 -06:00
Aziz Rmadi
4356635d12
logging: Add support for additional logger filters other than hostname ( #6082 )
...
Co-authored-by: Francis Lavoie <lavofr@gmail.com>
2024-05-11 13:31:44 +00:00
Matthew Holt
4af38e5ac8
caddyhttp: Log 4xx as INFO; 5xx as ERROR ( close #6106 )
2024-05-10 15:52:50 -06:00
Matthew Holt
399186abfc
Second half of 6dce493
...
Not sure how it got unstaged
2024-05-10 15:51:28 -06:00
Matthew Holt
6dce4934f0
caddyhttp: Alter log message when request is unhandled ( close #5182 )
2024-05-10 15:49:34 -06:00
Francis Lavoie
874d0ce822
chore: Bump Go version in CI ( #6310 )
2024-05-10 14:56:18 +00:00
Matthew Holt
abdf1ae15c
go.mod: go 1.22.3
...
Seeing if this assists with some Go tooling logic
2024-05-10 08:32:44 -06:00
Viktor Szépe
d7e3a1974b
Fix typos ( #6311 )
...
* Fix typos
* Revert
* Revert to "htlm"
* fix indentations
2024-05-10 08:08:54 -06:00
WeidiDeng
e60148ecc3
reverseproxy: Pointer to struct when loading modules; remove LazyCertPool ( #6307 )
...
* use pointer when loading modules
* change method to pointer type and remove LazyCertPool
* remove lazy pool test
* remove yet another lazy pool test
2024-05-08 19:13:37 -06:00
Matthew Penner
0b5720faa5
tracing: add trace_id var (http.vars.trace_id
placeholder) ( #6308 )
2024-05-08 16:40:40 -06:00
Matthew Holt
dd203ad41f
go.mod: CertMagic v0.21.0
2024-05-07 10:17:10 -06:00
Ali Asgar
b2b29dcd49
reverseproxy: Implement health_follow_redirects ( #6302 )
...
* added health_follow_redirect in active health checks
* chore: code format
* chore: refactore reversproxy healthcheck redirect variable name and description of the same
* chore: formatting
* changed reverse proxy health check status code range to be between 200-299
* chore: formatting
---------
Co-authored-by: aliasgar <joancena1268@mail.com>
2024-05-07 08:40:15 -06:00
Florian Apolloner
c97292b255
caddypki: Allow use of root CA without a key. Fixes #6290 ( #6298 )
...
* Allow usage of root CA without a key. Fixes #6290
* Update modules/caddypki/crypto.go
---------
Co-authored-by: Matt Holt <mholt@users.noreply.github.com>
2024-05-07 03:38:26 +00:00
Matthew Holt
b52271061d
go.mod: Upgrade to quic-go v0.43.1
2024-05-06 20:15:43 -06:00
Mohammed Al Sahaf
d05d715a00
reverseproxy: HTTP transport: fix PROXY protocol initialization ( #6301 )
2024-05-06 20:02:12 -06:00
Matthew Holt
8d7ac18402
caddytls: Ability to drop connections ( close #6294 )
2024-05-06 19:59:42 -06:00
dependabot[bot]
7e2510ef43
build(deps): bump golangci/golangci-lint-action from 4 to 5 ( #6289 )
...
Bumps [golangci/golangci-lint-action](https://github.com/golangci/golangci-lint-action ) from 4 to 5.
- [Release notes](https://github.com/golangci/golangci-lint-action/releases )
- [Commits](https://github.com/golangci/golangci-lint-action/compare/v4...v5 )
---
updated-dependencies:
- dependency-name: golangci/golangci-lint-action
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-02 03:09:19 +03:00
Francis Lavoie
feeb6af403
httpcaddyfile: Fix expression matcher shortcut in snippets ( #6288 )
2024-05-01 07:43:05 -04:00
Matt Holt
d129ae6aec
caddytls: Evict internal certs from cache based on issuer ( #6266 )
...
* caddytls: Evict internal certs from cache based on issuer
During a config reload, we would keep certs in the cache fi they were used by the next config. If one config uses InternalIssuer and the other uses a public CA, this behavior is problematic / unintuitive, because there is a big difference between private/public CAs.
This change should ensure that internal issuers are considered when deciding whether to keep or evict from the cache during a reload, by making them distinct from each other and certs from public CAs.
* Make sure new TLS app manages configured certs
* Actually make it work
2024-04-30 16:15:54 -06:00
Mohammed Al Sahaf
87c7127c28
chore: add warn logs when using deprecated fields ( #6276 )
2024-04-27 15:51:00 -04:00
Matthew Holt
2fc620d38d
caddyhttp: Fix linter warning about deprecation
2024-04-27 12:41:17 -06:00
Matthew Holt
a46ff50a1c
go.mod: Upgrade to quic-go v0.43.0
2024-04-27 12:01:30 -06:00
Matthew Holt
cabb5d71c4
fileserver: Set "Vary: Accept-Encoding" header (see #5849 )
2024-04-26 19:38:45 -06:00
Matthew Holt
ba5811467a
events: Add debug log
2024-04-26 18:59:08 -06:00
WeidiDeng
1b9042bcdd
reverseproxy: handle buffered data during hijack ( #6274 )
2024-04-26 09:09:18 -06:00
Mohammed Al Sahaf
4d6370bf92
ci: remove android
and plan9
from cross-build workflow ( #6268 )
2024-04-24 17:31:40 -04:00
Mohammed Al Sahaf
c6eb186064
run golangci-lint run --fix --fast
( #6270 )
2024-04-24 15:17:23 -06:00
clauverjat
76c4cf5a56
caddytls: Option to configure certificate lifetime ( #6253 )
...
* Add option to configure certificate lifetime
* Bump CertMagic dep to latest master commit
* Apply suggestions and ran go mod tidy
* Update modules/caddytls/acmeissuer.go
Co-authored-by: Matt Holt <mholt@users.noreply.github.com>
---------
Co-authored-by: Matt Holt <mholt@users.noreply.github.com>
2024-04-24 14:35:14 -06:00
Francis Lavoie
797973944f
replacer: Implement file.*
global replacements ( #5463 )
...
Co-authored-by: Matt Holt <mholt@users.noreply.github.com>
Co-authored-by: Mohammed Al Sahaf <msaa1990@gmail.com>
2024-04-24 16:26:18 -04:00
Matt Holt
6d97d8d87b
caddyhttp: Address some Go 1.20 features ( #6252 )
...
Co-authored-by: Francis Lavoie <lavofr@gmail.com>
2024-04-24 00:05:57 +00:00
Matthew Holt
d404005339
Quell linter (false positive)
2024-04-23 11:55:37 -06:00
Aziz Rmadi
868af6a062
reverse_proxy: Add grace_period for SRV upstreams to Caddyfile ( #6264 )
2024-04-23 07:12:57 -06:00
Mohammed Al Sahaf
d2668cdbb0
doc: add verifier
in ClientAuthentication
caddyfile marshaler doc ( #6263 )
2024-04-23 07:01:54 -06:00
Matthew Holt
6a02999054
caddytls: Add Caddyfile support for on-demand permission module ( close #6260 )
2024-04-22 15:47:09 -06:00
Matthew Holt
9f97df2275
reverseproxy: Remove long-deprecated buffering properties
...
They've been deprecated for over a year and we printed warnings during that time.
2024-04-22 15:34:14 -06:00
Matthew Holt
d93e027e01
reverseproxy: Reuse buffered request body even if partially drained
...
Previous commit only works when the backends don't read any of the body first.
2024-04-22 15:22:50 -06:00
Matthew Holt
613d544a47
reverseproxy: Accept EOF when buffering
...
Before this change, a read of size (let's say) < 10, into a buffer of size 10, will return EOF because we're using CopyN to limit to the size of the buffer. That resulted in the body being read from later, which should only happen if it couldn't fit in the buffer.
With this change, the body is properly NOT set when it can all fit in the buffer.
2024-04-22 13:12:10 -06:00
Francis Lavoie
726a9a8fde
logging: Fix default access logger ( #6251 )
...
* logging: Fix default access logger
* Simplify logic, remove retry without port, reject config with port, docs
* Nil check
2024-04-22 06:33:07 -06:00
Matthew Holt
d00824f4a6
fileserver: Improve Vary handling ( #5849 )
2024-04-19 13:43:13 -06:00
Mohammed Al Sahaf
8f87c5d993
cmd: Only validate config is proper JSON if config slice has data ( #6250 )
...
* cmd: fix error when running without config
* ci: add smoke test
2024-04-18 15:40:12 -06:00
Mohammed Al Sahaf
c6673ad4d8
staticresp: Use the evaluated response body for sniffing JSON content-type ( #6249 )
2024-04-18 20:31:00 +00:00
Matthew Holt
9ab09433de
encode: Slight fix for the previous commit
2024-04-17 19:59:10 -06:00
Matthew Holt
3067074d9c
encode: Improve Etag handling ( fix #5849 )
...
We also improve Last-Modified handling in the file server.
Both changes should be more compliant with RFC 9110.
2024-04-17 19:12:03 -06:00
Matthew Holt
3efda6fb3a
httpcaddyfile: Skip automate loader if disable_certs is specified ( fix #6148 )
2024-04-17 12:26:03 -06:00