Matthew Holt
46aaf02371
encode: Fix bug where default status code was being written
for small responses.
See https://caddy.community/t/v2-permanent-redirect-prompt/6190?u=matt
5 years ago
Matthew Holt
3b80c505fb
Update v2 readme in prep for beta1
5 years ago
Matthew Holt
1d1e194229
Hard-code 'main' module name until bug upstream in Go modules is fixed
See https://github.com/golang/go/issues/29228
5 years ago
Matthew Holt
839507e24e
http: Consider wildcards when evaluating automatic HTTPS
5 years ago
Matthew Holt
833d67446f
admin: Allow listening on unix socket ( closes #2749 )
5 years ago
Matthew Holt
d0c1756fc5
httpcaddyfile: Fix tls certificate loader module names ( #2748 )
5 years ago
Matthew Holt
ed40a5dcab
tls: Do away with SetDefaults which did nothing useful
CertMagic uses the same defaults for us
5 years ago
Matthew Holt
7799554baa
go.mod: Use lego v3 and CertMagic 0.7.0
5 years ago
Matthew Holt
2cb01d43cf
tls: Remove support for TLS 1.0 and TLS 1.1
5 years ago
Matthew Holt
758269124e
reverseproxy: Fix host and port on requests; fix Caddyfile parser
5 years ago
Matthew Holt
b4dce74e59
tls: Use Let's Encrypt production endpoint
We're done testing this in staging
5 years ago
Matthew Holt
fe389fcbd7
http: Set Alt-Svc header if experimental HTTP3 server is enabled
5 years ago
Matthew Holt
005a11cf4b
headers: New 'request_header' directive; handle Host header specially
Before this change, only response headers could be manipulated with the
Caddyfile's 'header' directive.
Also handle the request Host header specially, since the Go standard
library treats it separately from the other header fields...
5 years ago
Matthew Holt
194df652eb
reverseproxy: Add 'tls' option to enable HTTPS with HTTP transport
5 years ago
Matthew Holt
53bbdf1766
httpcaddyfile: Add 'experimental_http3' option
5 years ago
Matthew Holt
e48d83452e
httpcaddyfile: Switch order; reverse_proxy comes before php_fastcgi
5 years ago
Matthew Holt
2459c292a4
caddyfile: Improve Dispenser.NextBlock() to support nesting
5 years ago
Matthew Holt
0cf592fa2e
New 'php_fastcgi' directive for convenient PHP+FastCGI reverse proxy
5 years ago
Matthew Holt
d9136fb0a0
rewrite: Caddyfile directive should always invoke a rehandle
This is unless each route's matcher is dynamically executed after
previous handlers...
5 years ago
Matthew Holt
c32b7e8865
fastcgi: Make EnvVars a map instead of a slice
5 years ago
Matthew Holt
1ce10b453f
Require Go 1.13; use Go 1.13's default support for TLS 1.3
5 years ago
Matt Holt
0c8ad52be1
Experimental IETF-standard HTTP/3 support (known issue exists) ( #2727 )
* Begin WIP integration of HTTP/3 support
* http3: Set actual Handler, make fakeClosePacketConn type for UDP sockets
Also use latest quic-go for ALPN fix
* Manually keep track of and close HTTP/3 listeners
* Update quic-go after working through some http3 bugs
* Fix go mod
* Make http3 optional for now
5 years ago
Matthew Holt
d67d8cf5a8
Fix build (sigh)
5 years ago
Matt Holt
44b7ce9850
Merge pull request #2737 from caddyserver/fastcgi (reverse proxy!)
v2: Refactor reverse proxy and add FastCGI support
5 years ago
Matthew Holt
b4f4fcd437
Migrate some selection policy tests over to v2
5 years ago
Matthew Holt
50e62d06bc
reverse_proxy: Caddyfile integration (and fix blocks in Dispenser)
5 years ago
Matthew Holt
9169cd43d4
Log when auto HTTPS or auto HTTP->HTTPS redirects are disabled
5 years ago
Matthew Holt
e12c62e60b
file_server: Enforce URL canonicalization ( closes #2741 )
5 years ago
Ingo Gottwald
3e9e7555ef
Fix build ( #2740 )
Build was broken with commit 50961ec
.
5 years ago
Matthew Holt
f6126acf37
Header matchers: allow matching presence of header with empty list
5 years ago
Matthew Holt
97ace2a39e
File matcher enforces trailing-slash convention to match dirs/files
5 years ago
Matthew Holt
4bd9496525
Fix Schrodinger's file existence check in file matcher
See: https://stackoverflow.com/a/12518877/1048862
For example, trying to check the existence of "/www/index.php/index.php"
fails but not with an os.IsNotExist()-type error. So we have to assume
that a file that cannot be successfully stat'ed at all does not exist.
5 years ago
Matthew Holt
14f9662f9c
Various fixes/tweaks to HTTP placeholder variables and file matching
- Rename http.var.* -> http.vars.* to be more consistent
- Prefixing a path matcher with * now invokes simple suffix matching
- Handlers and matchers that need a root path default to {http.vars.root}
- Clean replacer output on the file matcher's file selection suffix
5 years ago
Matthew Holt
21d7b662e7
fastcgi: Use request context as base, not a new one
5 years ago
Matthew Holt
3ba9e143a2
cli: Fix run and start when no config file is available
5 years ago
Matthew Holt
d2e46c2be0
fastcgi: Set default root path; add interface guards
5 years ago
Matthew Holt
80b54f3b9d
Add original URI to request context; implement into fastcgi env
5 years ago
Matthew Holt
0830fbad03
Reconcile upstream dial addresses and request host/URL information
My goodness that was complicated
Blessed be request.Context
Sort of
5 years ago
Matthew Holt
a60d54dbfd
reverse_proxy: Ignore context.Canceled errors
These happen when downstream clients cancel the request, but that's not
our problem nor a failure in our end
5 years ago
Matthew Holt
acb8f0e0c2
Integrate circuit breaker modules with reverse proxy
5 years ago
Matthew Holt
652460e03e
Some cleanup and godoc
5 years ago
Matthew Holt
4a1e1649bc
reverse_proxy: Implement remaining TLS config for proxy to backend
5 years ago
Matthew Holt
ccfb12347b
reverse_proxy: Implement active health checks
5 years ago
Alexandre Stein
50961ecc77
Initial implementation of TLS client authentication ( #2731 )
* Add support for client TLS authentication
Signed-off-by: Alexandre Stein <alexandre_stein@interlab-net.com>
* make and use client authentication struct
* force StrictSNIHost if TLSConnPolicies is not empty
* Implement leafs verification
* Fixes issue when using multiple verification
* applies the comments from maintainers
* Apply comment
* Refactor/cleanup initial TLS client auth implementation
5 years ago
Matthew Holt
026df7c5cb
reverse_proxy: WIP refactor and support for FastCGI
5 years ago
Matthew Holt
8e821b5039
caddyconfig: Add JSON5 and JSON-C adapters ( closes #2735 )
5 years ago
Matthew Holt
9d8bff28c2
oops, also update the Caddyfile's {query} var to use query_string
5 years ago
Matthew Holt
d242f10eda
Add query_string to HTTP replacer and use it for try_files
5 years ago
Ariel Núñez
2dc4fcc62b
Fix caddyconfig import in admin.go ( #2725 )
6 years ago
Matthew Holt
afd154119a
admin: Support config adapters at /load endpoint
Based on Content-Type
6 years ago