Matthew Holt
f058419042
Change UUID file with CADDY_UUID_FILE environment variable
2018-05-15 19:39:15 -06:00
Matthew Holt
13268db536
Update readme with regards to telemetry
2018-05-10 11:31:31 -06:00
Matthew Holt
1f7b5abc80
Version 0.11
2018-05-10 09:45:05 -06:00
Matthew Holt
c667f81866
telemetry: Use int64 constant for duration interval
...
Otherwise it overflows int type on 32-bit builds
2018-05-10 09:41:57 -06:00
Matthew Holt
b321c00a8f
telemetry: Use production endpoint
2018-05-10 09:27:03 -06:00
Matthew Holt
9160789b42
telemetry: Make http_user_agent a normalized field
...
This way we store a short 8-byte hash of the UA instead of the full
string; exactly the same way we store TLS ClientHello info.
2018-05-10 08:57:25 -06:00
Matthew Holt
df7cdc3fae
telemetry: Add memory and goroutine metrics, rename container
...
And fix a typo in a comment, sigh
2018-05-09 22:36:23 -06:00
Matthew Holt
86fd2f22fb
telemetry: Add in_container metric
...
Knowing whether Caddy is running in a container is super-useful for
debugging and troubleshooting, as well as for making development-time
decisions, because Docker is one of the top contributors to our
user support burden.
Thanks to Eldin for helping to test it.
2018-05-09 17:20:38 -06:00
Matt Holt
148a6f4430
Merge pull request #2079 from mholt/telemetry
...
Caddy telemetry: a global, server-side perspective of the health of the Internet
2018-05-09 04:52:40 -06:00
Matthew Holt
b05006663f
telemetry: Add variance to retry interval, and disable keepalive
2018-05-08 22:54:12 -06:00
David Caldwell
5f1f8e4ee6
fastcgi: strip PATH_INFO from SCRIPT_FILENAME (mirroring SCRIPT_NAME)
2018-05-08 17:47:12 -07:00
Matthew Holt
ef48e17e79
caddytls: Fix tests
2018-05-07 17:04:39 -06:00
Matthew Holt
fe03c1aefa
telemetry: Fix MITM tests
2018-05-07 16:42:35 -06:00
Matthew Holt
078770a5a6
telemetry: Record TLS ClientHellos by hash of key of structured data
...
Also improve handling of disabled metrics, and record TLS ClientHello
in association with User-Agent
2018-05-07 16:09:39 -06:00
Guilherme Bernal
294f6957f0
tls: Fix typo in error message, "incompabile" ( #2147 )
2018-05-01 13:45:23 -06:00
Wèi Cōngruì
fe664c00ff
proxy: initialize ReverseProxy.Transport earlier and fix TCP connection leak ( #2134 )
2018-04-28 08:32:20 -06:00
Matthew Holt
518edd3cd4
Corrected permissions for UUID file
2018-04-20 00:04:44 -06:00
Matthew Holt
b019501b8b
Merge branch 'master' into telemetry
...
# Conflicts:
# caddy/caddymain/run.go
# caddyhttp/httpserver/plugin.go
# caddytls/client.go
2018-04-20 00:03:57 -06:00
Matthew Holt
2922d09bef
Version 0.10.14
2018-04-19 18:11:50 -06:00
Matthew Holt
97487e6f0d
vendor: Update lego to fix error handling bug ( closes #2124 )
2018-04-19 18:07:12 -06:00
Matthew Holt
694d2c9b2e
Version 0.10.13
2018-04-18 17:09:54 -06:00
Matthew Holt
a674c0051a
vendor: Update quic and lego/acme dependencies
2018-04-18 15:48:08 -06:00
Tanmay Chaudhry
98de336a21
proxy: Enabled configurable timeout ( #2070 )
...
* Enabled configurable Timeout for the proxy directive
* Added Test for reverse for proxy timeout
* Removed Duplication in proxy constructors
* Remove indirection from multiple constructors and refactor into one
* Fix inconsistent error message and refactor dialer initialization
2018-04-17 08:09:22 -06:00
Abiola Ibrahim
9fe2ef417c
rewrite: Regular expression support for simple rule ( #2082 )
...
* Regexp support for simple rewrite rule
* Add negate option for simplicity
* ascertain explicit regexp char
2018-04-14 19:40:55 -06:00
Theofanis Despoudis
88edca65d3
proxy: Fix transparent pass-thru of existing X-Forwarded-For headers
...
* Fixes #1960 Transparent proxy not appending
existing X-Forwarded-For header
* Fixes #1960 Formatting Code
2018-04-05 00:04:06 -06:00
Matt Holt
64c18a7c6c
caddyfile: Fix errors caught by fuzzing ( #2097 )
...
* caddyfile: More robust parsing for 'import' (fixes #2096 )
The fix for hanging involves limiting the number of wildcards in an
import pattern to just 1. Otherwise some patterns can expand to the
entire disk.
The other fix requires that the end string for an environment variable
expansion come after the start string.
* caddyfile: Fix more fuzzing errors
2018-04-03 11:54:32 -06:00
Matthew Holt
d2fc045219
Update contributing instructions related to docs
2018-04-02 08:17:37 -06:00
Matthew Holt
917a604094
httpserver: Ignore ErrServerClosed when closing server
2018-04-02 08:17:21 -06:00
Lucas Lorentz
b33b24fc9e
httpserver: Add 'supervisor' directive ( #2061 )
2018-03-31 17:31:35 -06:00
Matt Holt
4d9ee000c8
httpserver: Prevent TLS client authentication bypass in 3 ways ( #2099 )
...
- Introduce StrictHostMatching mode for sites that require clientauth
- Error if QUIC is enabled whilst TLS clientauth is configured
(Our QUIC implementation does not yet support TLS clientauth, but
maybe it will in the future - fixes #2095 )
- Error if one but not all TLS configs for the same hostname have a
different ClientAuth CA pool
2018-03-30 14:40:04 -06:00
Matthew Holt
2966db7b78
httpserver: Fix test that relies on external DNS lookup
...
Apparently Cloudflare just caused 1.1.1.1 to resolve, so we have to
change our test IP, hopefully this is better
2018-03-30 06:39:46 -06:00
Matt Holt
38e65e28d4
tls: Fix tests on Windows ( #2093 )
2018-03-28 12:42:47 -06:00
Matthew Holt
73b61af58d
tls: Prevent directory traversal via On-Demand TLS ( fixes #2092 )
2018-03-28 12:04:35 -06:00
Francis Lavoie
858e96f21c
readme: Update instructions for contributing to docs ( #2089 )
2018-03-27 18:05:53 -06:00
Matthew Holt
f379bf3421
Version 0.10.12
2018-03-26 22:09:10 -06:00
Toby Allen
1896b420d8
log: 'except' subdirective to skip logging certain requests ( #2028 )
...
* proof of concept
* Initial implementation with debug code
* Tidy up debug code
* remove unneeded import
* removed extra line
* Move ShouldLog function to rule entry Logger type
* add tests for ShouldLog
* Added tests for log exceptions
* Fix logic
* fix govet fail for test
* Updates requested for code clarity
* Update requested for style
* log: Minor style tweaks to logic of log exceptions
2018-03-26 17:17:43 -06:00
Matthew Holt
1580169e2b
vendor: Update quic-go
2018-03-25 22:37:41 -06:00
Matt Holt
95514da91b
Merge pull request #2072 from mholt/acmev2
...
tls: Use ACMEv2 and support automatic wildcard certificates
2018-03-25 22:09:03 -06:00
Matthew Holt
18ff8748e7
caddytls: Default to Let's Encrypt's ACMEv2 production endpoint
2018-03-25 22:00:18 -06:00
Matthew Holt
2ed1dd6afc
Merge branch 'master' into acmev2
...
# Conflicts:
# caddyhttp/httpserver/replacer.go
# caddyhttp/httpserver/replacer_test.go
2018-03-25 21:56:11 -06:00
Matthew Holt
8039a7127f
telemetry: Remove a metric, clarify another, and fix tests
2018-03-25 21:50:07 -06:00
Denis
a8dfa9f0b7
httpserver: CaseSensitivePath applied to paths in site keys ( #2034 )
...
* different cases in path make different keys
* Respect CaseSensitivePath variable when matching paths
2018-03-25 21:32:30 -06:00
Matthew Holt
33aeb1cb5c
telemetry: Add CLI option to selectively disable some metrics
...
Also fix a couple metrics that were named wrong or reported in excess.
2018-03-23 23:44:16 -06:00
Matthew Holt
8bdd13b594
telemetry: Honor the server's request to toggle certain metrics
2018-03-22 19:50:38 -06:00
Matthew Holt
52316952a5
Refactor diagnostics -> telemetry
2018-03-22 18:05:31 -06:00
Matthew Holt
7c868afd32
diagnostics: Specially handle HTTP 410 and 451 codes
...
An attempt to future-proof older Caddy instances so that they won't
keep trying to send telemetry to endpoints that just simply aren't
going to be available
2018-03-21 17:51:07 -06:00
Matthew Holt
4df8028bc3
diagnostics: Add/remove metrics
2018-03-21 17:01:14 -06:00
Matthew Fay
f1eaae9b0d
httpserver: Rework Replacer loop to ignore escaped braces ( #2075 )
...
* httpserver.Replacer: Rework loop to ignore escaped placeholder braces
* Fix typo and ineffectual assignment to ret
* Remove redundant idxOffset declaration, simplify escape check
* Add benchmark tests for new Replacer code
2018-03-18 20:42:43 -06:00
Matthew Holt
385ea53309
diagnostics: Use Retry-After header if decoding JSON fails
...
Improve error message and backoff as well
2018-03-18 15:49:17 -06:00
elcore
2716e272c1
Purge event hooks after USR1 reload, fix #2044 ( #2047 )
...
* caddy: Purge event hooks after USR1 reload
* caddy: Remove event hook purge logging
* caddy: Remove deleteEventHook
* caddy: use old event hooks in case of an unsuccessful restart
* caddy: implement restoreEventHooks
2018-03-17 18:29:22 -06:00