HTTP/3 not working

1. Caddy version (caddy version):

v2.4.6

2. How I run Caddy:

Inside a Docker container, my node.js application sits in another container

a. System environment:

Digital ocean droplet

b. Command:

Paste command here.

c. Service/unit/compose file:

version: “3.9”
services:
woodbit-pro:
container_name: woodbit-pro
build:
context: .
dockerfile: Dockerfile-pro
expose:
- “80”
- “443”


Paste full file contents here.
Make sure backticks stay on their own lines,
and the post looks nice in the preview pane.

d. My complete Caddyfile or JSON config:

{
  "apps": {
    "http": {
      "servers": {
        "localhost": {
          "listen": [":443"],
          "experimental_http3": true,
          "routes": [
            {
              "match": [
                {
                  "host": ["www.traditionelehoutbewerking.com"]
                },
                {
                  "host": ["traditionelehoutbewerking.com"]
                }
              ],
              "handle": [
                {
                  "handler": "reverse_proxy",
                  "transport": {
                    "protocol": "http"
                  },
                  "upstreams": [
                    {
                      "dial": "ip and port"
                    }
                  ]
                }
              ]
            },
            {
              "match": [
                {
                  "host": ["cursus.traditionelehoutbewerking.com"]
                }
              ],
              "handle": [
                {
                  "handler": "reverse_proxy",
                  "transport": {
                    "protocol": "http"
                  },
                  "upstreams": [
                    {
                      "dial": "ip and port"
                    }
                  ]
                }
              ]
            }
          ]
        }
      }
    },
    "tls": {
      "certificates": {
        "automate": ["traditionelehoutbewerking.com, cursus.traditionelehoutbewerking.com"]
      },
      "automation": {
        "policies": [
          {
            "issuers": [
              {
                "module": "acme",
                "email": "herman@vanlooveren.com"
              }
            ]
          }
        ]
      }
    }
  }
}
Paste config here, replacing this text.
Use `caddy fmt` to make it readable.
DO NOT REDACT anything except credentials.
LEAVE DOMAIN NAMES INTACT.
Make sure the backticks stay on their own lines.

3. The problem I’m having:

Browsers (latest chrome on mac os x big sur) does show h2 instead of h3 on developer tools => network => protocol: h2

When I check https://http3check.net/?host=traditionelehoutbewerking.com
error: HTTP/3 Check could not get establish a QUIC connection due to the error given below.

QUIC connection could not be established

4. Error messages and/or full log output:

5. What I already tried:

Not sure what I can do? I would love to have http/3 working, rest of caddy is AWESOME!

6. Links to relevant resources:

Another strange thing is that on geekflare.com test http/3 it says [Great! HTTP/3 is enabled. It supports the following protocol version. h3-29]
Latest chrome still says h2 (while google.com for example shows h3)
What am I doing wrong?
Or is the problem that the backend server runs node.js on docker and front end is Caddy with reverse proxy? (probably more because my lack of knowledge on the subject :grinning: )

I don’t recommend http3check.net by LiteSpeed. Caddy uses a newer draft of QUIC/H3 than their “LSQUIC” library supports.

The GeekFlare HTTP/3 test is better.

Chrome is picky about which draft it supports.

2 Likes

This topic was automatically closed after 30 days. New replies are no longer allowed.