Repository navigation
QUIC
Caddy 0.9 has experimental QUIC support, powered by lucas-clemente/quic-go. To try it, run caddy with the -quic flag:
$ caddy -quic
Sites that you serve with TLS will be shuttled over the wire with QUIC if the client supports it.
Chrome 52+ supports QUIC without needing a whitelist, but make sure that the #enable-quic flag is set to Enabled. Then just open Chrome to your site and it should be served over QUIC! You can verify this by opening the inspector tools and going to the Security tab. Reload the page and click to view connection details:
If you run an older version of Chrome and don't like pain, just upgrade.
If you like pain, however: you'll need to run Chrome with special parameters. On a Mac (replace both occurrences of YOUR_SITE with your site's hostname):
$ /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome \
--user-data-dir=/tmp/chrome \
--no-proxy-server \
--enable-quic \
--quic-host-whitelist="YOUR_SITE" "YOUR_SITE"
QUIC is reliable transport for TLS+HTTP based on UDP. It accelerates TLS handshakes to just 1 round trip, avoids TCP slow start, and offers reliability when switching networks. Sites load faster and more reliably with QUIC!
First, make sure your domain name is properly set in your Caddyfile and the command to launch Chrome in all places.
Next, your site must use a real, trusted certificate (at least, that's the case at time of writing).
If that's all good and if you're even just a little bit savvy with Go, then you could add import "github.com/lucas-clemente/quic-go/utils" and call utils.SetLogLevel(utils.LogLevelDebug) somewhere in Caddy's main() function. That will provide very detailed output. (Note that this log utility is not meant to be a public API.)
When you go to chrome://net-internals/#events you should see some QUIC events marked in red.
These tips are taken from https://github.com/mholt/caddy/pull/857 - but please do not use that thread as a support forum!
If you still have troubles, report the issue at https://github.com/lucas-clemente/quic-go/issues. Thanks!
As this is an experiment that we really want to see succeed, please let us know of any bugs/questions/suggestions - get involved! If your feedback is QUIC-related, please take that up in the quic-go repo.
