immo@Ideapad:~$ docker run caddy caddy version
v2.0.0 h1:pQSaIJGFluFvu8KDGDODV8u4/QRED/OPyIR+MWYYse8=
2. How I run Caddy:
a. System environment:
Chromium Version: Version 81.0.4044.138 (Official Build) snap (64-bit)
immo@Ideapad:~$ docker version
Client:
Version: 18.09.9
API version: 1.39
Go version: go1.13.4
Git commit: 1752eb3
Built: Sat Nov 16 01:05:26 2019
OS/Arch: linux/amd64
Experimental: false
Server:
Engine:
Version: 18.09.9
API version: 1.39 (minimum version 1.12)
Go version: go1.13.4
Git commit: 9552f2b
Built: Sat Nov 16 01:07:48 2019
OS/Arch: linux/amd64
Experimental: false
Linux Ideapad 5.3.0-51-generic #44-Ubuntu SMP Wed Apr 22 21:09:44 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
I’ve been trying to set up a webserver on localhost which supports HTTP/3. I’ve successfully run a caddy server run in docker which answers to GET requests with this header:
FYI, in the the v2 docker image, the storage directories are /data and /config. You should probably persist those as well to prevent data loss from container restarts.
I’m not certain about the h3 issue though, I’ll let someone else help if they can.
HTTP3 (and QUIC) is a black box, to me. Even more so than systemd is. Doesn’t it need exactly the same version on client and server, like, while it’s in draft and changing every now and again?
On macOS, I was able to get HTTP/3 working in Chrome Canary Version 84.0.4138.0 (Official Build) canary (64-bit) with the following command: /Applications/Google\ Chrome\ Canary.app/Contents/MacOS/Google\ Chrome\ Canary --enable-quic --quic-version=h3-27
@skyfaller May I ask for some configuration details from your server? ( https://www.sunrisemovement.dev/) It would really help me a lot, since it is quite urgent for me to get that server running. Thanks in advance!
Well, you may not want to steal my config, since I’m having trouble with my local CA at the moment But my public sites are running fine, so if you have a public domain name available, stealing my config should work.
UPDATE: Actually it’s possible that the Caddy storage for my production server is currently misconfigured as well, it just hasn’t caused obvious problems yet. But simply leaving out the storage directive in my Caddyfile and using the default storage location (as you do in your Caddyfile) should be sufficient to avoid that issue.
It works for me now with an actual domain and a Let’s Encrypt certificate. If somebody knows, how to make it work on localhost without a domain, i’d really be interested in that. Thank you @skyfaller for your configs, helped me a lot. And thanks for the great support!
OK, my local CA is now working, although the steps I took to get there were a little sloppy so I can’t guarantee that everything I did is captured in my Github repo. Still, you can see my test Caddyfile using my local CA at devops/LocalCaddyfile.j2 at master · sunrisemovement/devops · GitHub