Dynamic http3 upstreams recieve untemplated sni
bug :lady_beetle:help wanted :sos:
### Issue Details
Warning ahead, i have used AI to write the nix files to reproduce this issue. But confirmed that is not hallucination slop.
When i use a dynamic upstream using a wildcard host and http3 i recieve an untemplated sni on my host
example caddyfile
```
*.mydomain.com mydomain {
reverse_proxy {
dynamic a {
name {host}
port 443
refresh 1m
versions ipv6
}
transport http {
tls
tls_server_name {host}
versions 3
}
}
}
```
this results in requests arriving at the upstream to get the SNI="{http.request.host}"
if i instead change the `tls_server_name {host}` to `tls_server_name git.mydomain.com` it works
if i instead remove `versions 3` it works
my upstream (also caddy) works on http3 as confirmed by `curl --http3-only git.mydomain.com` on the same host that my proxy caddy lives on
this is also seen in the reproduction nix file output
```
===== TSHARK (WORKING: H3 direct upstream (8081)) =====
Interface name: any
Interface name: any
Extension: server_name (len=19) name=app.test.local
Type: server_name (0)
Server Name Indication extension
Server Name list length: 17
Server Name Type: host_name (0)
Server Name length: 14
Server Name: app.test.local
Interface name: any
Interface name: any
Interface name: any
Interface name: any
Interface name: any
Interface name: any
Interface name: any
Interface name: any
Interface name: any
Interface name: any
Interface name: any
Interface name: any
Interface name: any
Interface name: any
Interface name: any
Interface name: any
```
vs when calling via the wildcard dynamic http3 caddy reverse_proxy
```
===== TSHARK (BROKEN: H3 dynamic A upstream (8080)) =====
Interface name: any
Interface name: any
Extension: server_name (len=24) name={http.request.host}
Type: server_name (0)
Server Name Indication extension
Server Name list length: 22
Server Name Type: host_name (0)
Server Name length: 19
Server Name: {http.request.host}
Interface name: any
```
### Assistance Disclosure
AI used
### If AI was used, describe the extent to which it was used.
I wrote the nix file to reproduce this using ai
2 条评论