1. Output of caddy version
:
v2.5.2 h1:eCJdLyEyAGzuQTa5Mh3gETnYWDClo1LjtQm2q9RNZrs=
2. How I run Caddy:
a. System environment:
$ uname -a
Linux azabache 5.15.0-1013-raspi #15-Ubuntu SMP PREEMPT Mon Aug 8 06:33:06 UTC 2022 aarch64 aarch64 aarch64 GNU/Linux
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 22.04.1 LTS
Release: 22.04
Codename: jammy
b. Command:
sudo service caddy start
c. Service/unit/compose file:
[Unit]
Description=Caddy
Documentation=https://caddyserver.com/docs/
After=network.target network-online.target
Requires=network-online.target
[Service]
Type=notify
User=caddy
Group=caddy
ExecStart=/usr/bin/caddy run --environ --config /etc/caddy/Caddyfile
ExecReload=/usr/bin/caddy reload --config /etc/caddy/Caddyfile
TimeoutStopSec=5s
LimitNOFILE=1048576
LimitNPROC=512
PrivateTmp=true
ProtectSystem=full
AmbientCapabilities=CAP_NET_BIND_SERVICE
[Install]
WantedBy=multi-user.target
d. My complete Caddy config:
{
email my@email.com
debug
servers {
protocol {
experimental_http3
}
}
}
azabache.narwhal-nominal.ts.net {
encode zstd gzip
rewrite * /admin{uri}
reverse_proxy localhost:1080
}
3. The problem I’m having:
So I was setting up a log monitoring system for Caddy using Loki and Grafana when I noticed the following error several times on my Caddy logs:
Sep 03 09:50:10 azabache caddy[639966]: {"level":"error","ts":1662198610.6536984,"logger":"http.log","msg":"setting HTTP/3 Alt-Svc header","error":"no port can be announced, specify it explicitly using Server.Port or Server.Addr"}
As far as I can tell, everything is working just fine, so I don’t really get what the this error is about . The reverso proxy is serving the requests just fine and I also check from the browser and indeed it’s using http3
4. Error messages and/or full log output:
This are the logs just after reloading with the above config.
Sep 03 09:50:10 azabache systemd[1]: Reloaded Caddy.
Sep 03 09:50:10 azabache caddy[639966]: {"level":"error","ts":1662198610.6536984,"logger":"http.log","msg":"setting HTTP/3 Alt-Svc header","error":"no port can be announced, specify it explicitly using Server.Port or Server.Addr"}
Sep 03 09:50:11 azabache caddy[639966]: {"level":"error","ts":1662198611.692947,"logger":"http.log","msg":"setting HTTP/3 Alt-Svc header","error":"no port can be announced, specify it explicitly using Server.Port or Server.Addr"}
Sep 03 09:50:12 azabache caddy[639966]: {"level":"error","ts":1662198612.9336665,"logger":"http.log","msg":"setting HTTP/3 Alt-Svc header","error":"no port can be announced, specify it explicitly using Server.Port or Server.Addr"}
Sep 03 09:50:13 azabache caddy[639966]: {"level":"error","ts":1662198613.97043,"logger":"http.log","msg":"setting HTTP/3 Alt-Svc header","error":"no port can be announced, specify it explicitly using Server.Port or Server.Addr"}
Sep 03 09:50:14 azabache caddy[639966]: {"level":"debug","ts":1662198614.9356027,"logger":"admin.api","msg":"received request","method":"GET","host":"localhost:2019","uri":"/metrics","remote_ip":"127.0.0.1","remote_port":"45538","headers"
:{"Accept":["application/openmetrics-text; version=0.0.1,text/plain;version=0.0.4;q=0.5,*/*;q=0.1"],"Accept-Encoding":["gzip"],"User-Agent":["Prometheus/2.31.2+ds1"],"X-Prometheus-Scrape-Timeout-Seconds":["10"]}}
Sep 03 09:50:15 azabache caddy[639966]: {"level":"error","ts":1662198615.0004005,"logger":"http.log","msg":"setting HTTP/3 Alt-Svc header","error":"no port can be announced, specify it explicitly using Server.Port or Server.Addr"}
Sep 03 09:50:15 azabache caddy[639966]: {"level":"error","ts":1662198615.3829901,"logger":"http.log","msg":"setting HTTP/3 Alt-Svc header","error":"no port can be announced, specify it explicitly using Server.Port or Server.Addr"}
Sep 03 09:50:16 azabache caddy[639966]: {"level":"error","ts":1662198616.0343983,"logger":"http.log","msg":"setting HTTP/3 Alt-Svc header","error":"no port can be announced, specify it explicitly using Server.Port or Server.Addr"}
Sep 03 09:50:17 azabache caddy[639966]: {"level":"error","ts":1662198617.5593264,"logger":"http.log","msg":"setting HTTP/3 Alt-Svc header","error":"no port can be announced, specify it explicitly using Server.Port or Server.Addr"}
Sep 03 09:50:18 azabache caddy[639966]: {"level":"error","ts":1662198618.5905771,"logger":"http.log","msg":"setting HTTP/3 Alt-Svc header","error":"no port can be announced, specify it explicitly using Server.Port or Server.Addr"}
Sep 03 09:50:19 azabache caddy[639966]: {"level":"error","ts":1662198619.4760358,"logger":"http.log","msg":"setting HTTP/3 Alt-Svc header","error":"no port can be announced, specify it explicitly using Server.Port or Server.Addr"}
Sep 03 09:50:19 azabache caddy[639966]: {"level":"error","ts":1662198619.6231859,"logger":"http.log","msg":"setting HTTP/3 Alt-Svc header","error":"no port can be announced, specify it explicitly using Server.Port or Server.Addr"}
Sep 03 09:50:20 azabache caddy[639966]: {"level":"error","ts":1662198620.6595042,"logger":"http.log","msg":"setting HTTP/3 Alt-Svc header","error":"no port can be announced, specify it explicitly using Server.Port or Server.Addr"}
Sep 03 09:50:21 azabache caddy[639966]: {"level":"error","ts":1662198621.6910257,"logger":"http.log","msg":"setting HTTP/3 Alt-Svc header","error":"no port can be announced, specify it explicitly using Server.Port or Server.Addr"}
5. What I already tried:
I had several domains being served by caddy in my Caddyfile so I’ve been doing several test to isolate what block is causing the issue, so far I think it only happens on Tailscale managed domains.
I was using a version built with several plugins, so I tried also to run standalone Caddy and the error still there.
Of course, if I remove the experimental_http3
option, the error goes away.
6. Links to relevant resources:
The error appears to be coming from here: