Matthew Holt
c95db3551d
caddytls: Ensure automation field is not nil when appending ( fix #2779 )
2019-09-30 11:53:21 -06:00
Matthew Holt
8eb2c37251
Clean up provisioned modules on error; refactor Run(); add Validate()
...
Modules that return an error during provisioning should still be cleaned
up so that they don't leak any resources they may have allocated before
the error occurred. Cleanup should be able to run even if Provision does
not complete fully.
2019-09-30 09:16:01 -06:00
Matthew Holt
1e66226217
httpcaddyfile: Add acme_ca and email global options
...
Also add ability to access options from individual unmarshalers through
the Helper values
2019-09-30 09:11:30 -06:00
Matthew Holt
7b4aa108c7
caddyhttp: 'not' matcher: Support Caddyfile unmarshaling
2019-09-30 09:09:57 -06:00
Matthew Holt
8b11ed347b
Add license header to filestorage.go
2019-09-30 09:08:04 -06:00
Matthew Holt
b249b45d10
tls: Change struct fields to pointers, add nil checks; rate.Burst update
...
Making them pointers makes for cleaner JSON when adapting configs, if
the struct is empty now it will be omitted entirely.
The x/time/rate package was updated to support changing the burst, so
we've incorporated that here and removed a TODO.
2019-09-30 09:07:43 -06:00
Matthew Holt
c12bf4054c
caddyfile: Fix lexer behavior with regards to escaped newlines
...
Newlines (\n) can be escaped outside of quoted areas and the newline
will be treated as whitespace but not as an actual line break. Escaping
newlines inside a quoted area is not necessary, and because quotes
trigger literal interpretation of the contents, the escaping backslash
will be parsed as a literal backslash, and the newline will not be
escaped.
Caveat: When a newline is escaped, tokens after it until an unescaped
newline will appear to the parser be on the same line as the initial
token after the last unescaped newline. This may technically lead to
some false line numbers if errors are given, but escaped newlines are
counted so that the next token after an unescaped newline is correct.
See #2766
2019-09-28 21:18:36 -06:00
Matthew Holt
735d6ce405
httpcaddyfile: Fix missing module name of storage adapter
2019-09-26 17:06:15 -07:00
Matthew Holt
7b33c8db31
tls: Make cert and OCSP check intervals configurable
...
This enables use of ACME CAs that issue shorter-lived certs
2019-09-24 17:04:03 -07:00
Matt Holt
11696793bd
tls/acme: Ability to customize trusted roots for ACME servers ( #2756 )
...
Closes #2702
2019-09-24 15:46:39 -07:00
Matthew Holt
3e8bff594a
go.mod: Update certmagic to v0.7.3
2019-09-20 13:17:17 -06:00
Matthew Holt
2f684e42d5
reverse_proxy/headers: Expose header replacement ability in Caddyfile
...
Adds header_up and header_down subdirectives to reverse_proxy
2019-09-20 13:13:49 -06:00
Matthew Holt
ba29f9d41d
httpcaddyfile: Global storage configuration ( closes #2758 )
2019-09-19 12:42:36 -06:00
Matthew Holt
40e05e5a01
http: Improve auto HTTP->HTTPS redirects, fix edge cases
...
See https://caddy.community/t/v2-issues-with-multiple-server-blocks-in-caddyfile-style-config/6206/13?u=matt
Also print pid when using `caddy start`
2019-09-18 18:01:32 -06:00
Matthew Holt
39d61cad2d
httpcaddyfile: Fix nil pointer dereference
2019-09-18 10:51:49 -06:00
Matthew Holt
bc9f944837
host matcher: Strip [ ] from IPv6 addresses
2019-09-18 09:45:21 -06:00
Matthew Holt
4c289fc6ad
Allow domain fronting with TLS client auth if explicitly configured
2019-09-17 23:13:21 -06:00
Matthew Holt
19f36667f7
tls: Clean up expired OCSP staples and certificates
2019-09-17 16:00:15 -06:00
Matt Holt
484cee1ac1
fastcgi: Implement / redirect for index.php with php_fastcgi directive ( #2754 )
...
* fastcgi: Implement / redirect for index.php with php_fastcgi directive
See #2752 and https://caddy.community/t/v2-redirect-path-to-path-index-php-with-assets/6196?u=matt
* caddyhttp: MatchNegate implements json.Marshaler
* fastcgi: Add /index.php element to try_files matcher
* fastcgi: Make /index.php redirect permanent
2019-09-17 15:16:17 -06:00
Matthew Holt
d030bfdae0
httpcaddyfile: static_response -> respond; minor cleanups
2019-09-16 11:04:18 -06:00
Matthew Holt
db4c73dd58
reverse_proxy: Close idle connections on module unload
2019-09-14 18:10:29 -06:00
Matthew Holt
f15f0d5839
Eliminate some TODOs
2019-09-14 18:05:45 -06:00
Matthew Holt
e73b117332
reverse_proxy: Ability to mutate headers; set upstream placeholders
2019-09-14 13:25:26 -06:00
Matthew Holt
2fd22139c6
headers: Ability to mutate request headers including http.Request.Host
...
Also a few bug fixes
2019-09-14 13:22:48 -06:00
Mohammed Al Sahaf
5c9ebe3af1
Use keybase fork of mitchellh/go-ps for bug fixes ( #2750 )
2019-09-13 23:40:29 -06:00
Matthew Holt
2ab2d5bf9e
Forgot to commit caddyfile.go changes in last commit
2019-09-13 23:38:52 -06:00
Matthew Holt
c09e86fddc
headers: Add ability to replace substrings in header fields
...
This will probably be useful so the proxy can rewrite header values.
2019-09-13 16:24:51 -06:00
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
2019-09-13 16:00:03 -06:00
Matthew Holt
3b80c505fb
Update v2 readme in prep for beta1
2019-09-13 12:50:06 -06:00
Matthew Holt
1d1e194229
Hard-code 'main' module name until bug upstream in Go modules is fixed
...
See https://github.com/golang/go/issues/29228
2019-09-13 12:43:28 -06:00
Matthew Holt
839507e24e
http: Consider wildcards when evaluating automatic HTTPS
2019-09-13 11:46:58 -06:00
Matthew Holt
833d67446f
admin: Allow listening on unix socket ( closes #2749 )
2019-09-13 11:24:07 -06:00
Matthew Holt
d0c1756fc5
httpcaddyfile: Fix tls certificate loader module names ( #2748 )
2019-09-13 09:45:10 -06:00
Matthew Holt
ed40a5dcab
tls: Do away with SetDefaults which did nothing useful
...
CertMagic uses the same defaults for us
2019-09-12 17:31:54 -06:00
Matthew Holt
7799554baa
go.mod: Use lego v3 and CertMagic 0.7.0
2019-09-12 17:31:10 -06:00
Matthew Holt
2cb01d43cf
tls: Remove support for TLS 1.0 and TLS 1.1
2019-09-11 22:26:06 -06:00
Matthew Holt
758269124e
reverseproxy: Fix host and port on requests; fix Caddyfile parser
2019-09-11 18:53:44 -06:00
Matthew Holt
b4dce74e59
tls: Use Let's Encrypt production endpoint
...
We're done testing this in staging
2019-09-11 18:52:07 -06:00
Matthew Holt
fe389fcbd7
http: Set Alt-Svc header if experimental HTTP3 server is enabled
2019-09-11 18:49:21 -06:00
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...
2019-09-11 18:48:37 -06:00
Matthew Holt
194df652eb
reverseproxy: Add 'tls' option to enable HTTPS with HTTP transport
2019-09-11 18:46:32 -06:00
Matthew Holt
53bbdf1766
httpcaddyfile: Add 'experimental_http3' option
2019-09-11 17:16:21 -06:00
Matthew Holt
e48d83452e
httpcaddyfile: Switch order; reverse_proxy comes before php_fastcgi
2019-09-11 12:02:35 -06:00
Matthew Holt
2459c292a4
caddyfile: Improve Dispenser.NextBlock() to support nesting
2019-09-10 19:21:52 -06:00
Matthew Holt
0cf592fa2e
New 'php_fastcgi' directive for convenient PHP+FastCGI reverse proxy
2019-09-10 14:16:41 -06:00
Matthew Holt
d9136fb0a0
rewrite: Caddyfile directive should always invoke a rehandle
...
This is unless each route's matcher is dynamically executed after
previous handlers...
2019-09-10 14:13:52 -06:00
Matthew Holt
c32b7e8865
fastcgi: Make EnvVars a map instead of a slice
2019-09-10 14:12:51 -06:00
Matthew Holt
1ce10b453f
Require Go 1.13; use Go 1.13's default support for TLS 1.3
2019-09-10 13:11:27 -06:00
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
2019-09-10 08:03:37 -06:00
Matthew Holt
d67d8cf5a8
Fix build (sigh)
2019-09-10 07:15:36 -06:00