Matthew Holt
91ab0e6066
httpcaddyfile: redir with "html" emits 200, no Location ( fix #4940 )
...
The intent of "html" is to redirect browser clients only, or those which can evaluate JS and/or meta tags. So return HTTP 200 and no Location header. See #4940 .
2022-08-09 11:12:09 -06:00
Kévin Dunglas
085df25c7e
reverseproxy: Support 1xx status codes (HTTP early hints) ( #4882 )
2022-08-09 10:53:24 -06:00
Francis Lavoie
fe61209df2
logging: Fix cookie
filter ( #4943 )
2022-08-08 19:11:02 -06:00
lewandowski-stripe
7f6a328b47
go.mod: Upgrade OpenTelemetry dependencies ( #4937 )
2022-08-08 15:04:18 -06:00
Matthew Holt
7ab61f46f0
fileserver: Better fix for Etag of compressed files
2022-08-08 13:09:57 -06:00
Matthew Holt
8c72f34357
fileserver: Generate Etag from sidecar file
...
Don't use the primary/uncompressed file for Etag when serving sidecars.
This was just overlooked initially.
2022-08-08 12:50:06 -06:00
Matthew Holt
b9618b8b98
Improve docs for ZeroSSL issuer
2022-08-08 12:50:06 -06:00
Chirag Maheshwari
d26559316f
Replace strings.Index with strings.Cut ( #4932 )
2022-08-06 22:03:37 -06:00
WilczyńskiT
2642bd72b7
Replace strings.Index usages with strings.Cut ( #4930 )
2022-08-04 11:17:35 -06:00
Matt Holt
17ae5acaba
cmd: Use newly-available version information ( #4931 )
2022-08-04 11:16:59 -06:00
Matt Holt
1960a0dc11
httpserver: Configurable shutdown delay ( #4906 )
2022-08-03 11:04:51 -06:00
Matthew Holt
63c7720e84
go.mod: Upgrade CertMagic and acmez
2022-08-02 15:35:19 -06:00
Francis Lavoie
141872ed80
chore: Bump up to Go 1.19, minimum 1.18 ( #4925 )
2022-08-02 16:39:09 -04:00
Matthew Holt
db1aa5b5bc
Oops (sigh)
...
Forgot to remove this redundant line
2022-08-01 13:40:09 -06:00
Matt Holt
f783290f40
caddyhttp: Implement caddy respond
command ( #4870 )
2022-08-01 13:36:22 -06:00
Matthew Holt
ebd6abcbd5
fileserver: Support virtual file system in Caddyfile
2022-07-31 21:41:26 -06:00
Matt Holt
6668271661
fileserver: Support virtual file systems ( #4909 )
...
* fileserver: Support virtual file systems (close #3720 )
This change replaces the hard-coded use of os.Open() and os.Stat() with
the use of the new (Go 1.16) io/fs APIs, enabling virtual file systems.
It introduces a new module namespace, caddy.fs, for such file systems.
Also improve documentation for the file server. I realized it was one of
the first modules written for Caddy 2, and the docs hadn't really been
updated since!
* Virtualize FS for file matcher; minor tweaks
* Fix tests and rename dirFS -> osFS
(Since we do not use a root directory, it is dynamic.)
2022-07-30 13:07:44 -06:00
Matthew Holt
07ed3e7c30
Minor docs clarification
...
Related to #4565
2022-07-29 16:56:02 -06:00
WingLim
1e0cdc54f8
core: Windows service integration ( #4790 )
...
Co-authored-by: Matthew Holt <mholt@users.noreply.github.com>
2022-07-29 14:06:54 -06:00
Francis Lavoie
2f43aa0629
chore: Add .gitattributes to force *.go to LF ( #4919 )
...
* chore: Add .gitattributes to force *.go to LF
* What if I remove this flag
2022-07-29 08:46:45 -04:00
Matthew Holt
56c139f003
Fix compilation on Windows
2022-07-28 15:44:36 -06:00
Matthew Holt
35a81d7c5b
Ignore linter warnings
...
Use of non-cryptographic random numbers in the load balancing
is intentional.
2022-07-28 15:40:23 -06:00
Matthew Holt
2e70d1d3bf
Fix deprecation notice by using UTF16PtrFromString
2022-07-28 15:24:08 -06:00
Francis Lavoie
ff2ba6de8a
caddyhttp: Clear out matcher error immediately after grabbing it ( #4916 )
...
Co-authored-by: Matthew Holt <mholt@users.noreply.github.com>
2022-07-28 15:19:48 -06:00
Matthew Holt
4fced0b6e1
Finish fixing lint errors from ea8df6ff
...
Follows up #4915
2022-07-28 15:16:36 -06:00
Matthew Holt
1bdd451913
caddytls: Remove PreferServerCipherSuites
...
It has been deprecated by Go
2022-07-28 14:50:51 -06:00
Matthew Holt
ea8df6ff11
caddyhttp: Use new CEL APIs ( fix #4915 )
...
Hahaha this is the ultimate "I have no idea what I'm doing" commit but it
compiles and the tests pass and I declare victory!
... probably broke something, should be tested more.
It is nice that the protobuf dependency becomes indirect now.
2022-07-28 14:50:28 -06:00
Y.Horie
c833e3b249
ci: Run golangci-lint on multiple os( #4875 ) ( #4913 )
2022-07-27 09:27:18 -04:00
Matthew Holt
7991cd1250
go.mod: Upgrade dependencies
2022-07-26 11:07:20 -06:00
Matthew Holt
1e18afb5c8
httpcaddyfile: Detect ambiguous site definitions ( fix #4635 )
...
Previously, our "duplicate key in server block" logic was flawed because
it did not account for the site's bind address. We defer this check to
when the listener addresses have been assigned, but before we commit
a server block to its listener.
Also refined how network address parsing and joining works, which was
necessary for a less convoluted fix.
2022-07-25 17:28:20 -06:00
Matthew Holt
0bebea0d4c
caddyhttp: Log shutdown errors, don't return ( fix #4908 )
2022-07-25 10:39:59 -06:00
Matt Holt
a379fa4c6c
reverseproxy: Implement read & write timeouts for HTTP transport ( #4905 )
2022-07-23 22:38:41 -06:00
Francis Lavoie
abad9bc256
cmd: Fix reload with stdin ( #4900 )
2022-07-20 18:14:33 -06:00
Matthew Holt
8bdee04651
caddyhttp: Enhance comment
2022-07-16 23:33:49 -06:00
Francis Lavoie
7d1f7771c9
reverseproxy: Implement retry count, alternative to try_duration ( #4756 )
...
* reverseproxy: Implement retry count, alternative to try_duration
* Add Caddyfile support for `retry_match`
* Refactor to deduplicate matcher parsing logic
* Fix lint
2022-07-13 14:15:00 -06:00
Matthew Holt
04a14ee37a
caddyhttp: Make query matcher more efficient
...
Only parse query string once
2022-07-13 12:20:00 -06:00
Matthew Holt
c2bbe42fc3
reverseproxy: Export SetScheme() again
...
Turns out the NTLM transport uses it. Oops.
2022-07-13 08:52:30 -06:00
jhwz
ad3a83fb91
admin: expect quoted ETags ( #4879 )
...
* expect quoted etags
* admin: Minor refactor of etag facilities
Co-authored-by: Matthew Holt <mholt@users.noreply.github.com>
2022-07-12 12:23:55 -06:00
Francis Lavoie
53c4d788d4
headers: Only replace known placeholders ( #4880 )
2022-07-12 12:16:03 -06:00
Matthew Holt
d6bc9e0b5c
reverseproxy: Err 503 if all upstreams unavailable
2022-07-08 13:01:32 -06:00
Francis Lavoie
54d1923ccb
reverseproxy: Adjust new TLS Caddyfile directive names ( #4872 )
2022-07-08 13:04:22 -04:00
Matthew Holt
c0f76e9ed4
fileserver: Use safe redirects in file browser
2022-07-07 14:10:19 -06:00
jhwz
f259ed52bb
admin: support ETag on config endpoints ( #4579 )
...
* admin: support ETags
* support etags
Co-authored-by: Matt Holt <mholt@users.noreply.github.com>
2022-07-06 13:50:07 -06:00
Francis Lavoie
8bac134f26
go.mod: Bump up quic-go to v0.28.0, fixes for BC breaks ( #4867 )
2022-07-06 12:14:32 -06:00
Matt Holt
412dcc07d3
caddytls: Reuse issuer between PreCheck and Issue ( #4866 )
...
This enables EAB reuse for ZeroSSLIssuer (which is now supported by ZeroSSL).
2022-07-05 18:12:25 -06:00
Matt Holt
660c59b6f3
admin: Implement /adapt endpoint ( close #4465 ) ( #4846 )
2022-06-29 00:43:57 -04:00
Francis Lavoie
58e05cab15
forwardauth: Fix case when copy_headers
is omitted ( #4856 )
...
See https://caddy.community/t/using-forward-auth-and-writing-my-own-authenticator-in-php/16410 , apparently it didn't work when `copy_headers` wasn't used. This is because we were skipping adding a handler to the routes in the "good response handler", but this causes the logic in `reverseproxy.go` to ignore the response handler since it's empty. Instead, we can just always put in the `header` handler, even with an empty `Set` operation, it's just a no-op, but it fixes that condition in the proxy code.
2022-06-28 19:23:30 -06:00
Tristan Swadell
10f85558ea
Expose several Caddy HTTP Matchers to the CEL Matcher ( #4715 )
...
Co-authored-by: Francis Lavoie <lavofr@gmail.com>
2022-06-22 18:53:46 -04:00
Francis Lavoie
98468af8b6
reverseproxy: Fix double headers in response handlers ( #4847 )
2022-06-22 15:10:14 -04:00
Francis Lavoie
25f10511e7
reverseproxy: Fix panic when TLS is not configured ( #4848 )
...
* reverseproxy: Fix panic when TLS is not configured
* Refactor and simplify setScheme
Co-authored-by: Matthew Holt <mholt@users.noreply.github.com>
2022-06-22 15:01:57 -04:00