View Issue Details

IDProjectCategoryView StatusLast Update
0011223Talerdeployment and operationspublic2026-03-22 23:16
ReporterChristian Grothoff Assigned ToFlorian Dold  
PrioritynormalSeveritytweakReproducibilityN/A
Status assignedResolutionopen 
Platformi7OSDebian GNU/LinuxOS Versionsqueeze
Product Versiongit (master) 
Target Version1.5 
Summary0011223: enable HTTP 2+3 on server(s)
DescriptionSome clients try HTTP3 by default, which would explain higher latency for first download.
We should enable HTTP3 on all of our servers at this point.
TagsNo tags attached.

Activities

Christian Grothoff

2026-03-10 11:13

manager   ~0028068

I've done uptimekuma.taler.net for testing, seems to work fine.

Christian Grothoff

2026-03-10 13:23

manager   ~0028075

I enabled it for demo. wget (http/1) takes 120ms, wget2 (http/3) takes 76ms on my current connection.

Christian Grothoff

2026-03-10 13:26

manager   ~0028076

todo: enable on rusty/spec.

Christian Grothoff

2026-03-10 13:30

manager   ~0028077

Lessons learned:
nginx.conf:: http {
+ http2 on;
+ http3 on;
+ quic_retry on;
+ ssl_early_data on;
}

then have ONE section

+ listen 443 quic reuseport;
+ listen [::]:443 quic reuseport;

but everywhere else (reuseport MUST only be specified once!)

+ listen 443 quic;
+ listen [::]:443 quic;

avalos

2026-03-11 17:42

developer   ~0028099

Doesn't seem to make much of a difference in Android at least to disable all protocols other than HTTP/1.1, just FTR. Not sure about iOS.

Christian Grothoff

2026-03-11 21:13

manager   ~0028109

Eh, (1) are you sure you actually used HTTP/3? Over a wireless connection / limited bandwidth? (2) Note that it's only available on demo. (3) Make sure you didn't have /keys already cached, too... I did notice it making quite a difference for wget/wget2, so I'd be surprised if it made no difference, assuming it was properly enabled/disabled...

avalos

2026-03-11 22:19

developer   ~0028114

I made sure the app did NOT use HTTP/2 or HTTP/3, in order to rule out the "Some clients try HTTP3 by default" causing fetches to be slower.

And I don't think I have HTTP caching enabled anyway.

Christian Grothoff

2026-03-11 22:35

manager   ~0028115

Ok, but did you also try WITH http/3 enabled on the client-side to compare?

Christian Grothoff

2026-03-22 23:00

manager   ~0028240

Note that http2-http3.conf has a FIXME remaining -- to make the migration work cleanly, we first need to run the script once
with these lines commented out:

# FIXME: comment-in later, upgrade fails if we put this immediately,
# we need to run once without, otherwise nginx will see these
# directives twice in different places and the setup script will fail.
# NOTE: remove the above comment AND the commented out lines
# below once spec has been updated once -- then update immediately
# again!

After that was done on spec, we should comment the lines in (test on rusty) and re-deploy on spec.

Christian Grothoff

2026-03-22 23:16

manager   ~0028241

Assigning to Florian as he'll basically "incidentally" fix it when deploying spec.

Issue History

Date Modified Username Field Change
2026-03-10 10:59 Christian Grothoff New Issue
2026-03-10 10:59 Christian Grothoff Status new => confirmed
2026-03-10 11:13 Christian Grothoff Note Added: 0028068
2026-03-10 13:23 Christian Grothoff Note Added: 0028075
2026-03-10 13:26 Christian Grothoff Note Added: 0028076
2026-03-10 13:30 Christian Grothoff Note Added: 0028077
2026-03-11 17:42 avalos Note Added: 0028099
2026-03-11 21:13 Christian Grothoff Note Added: 0028109
2026-03-11 22:19 avalos Note Added: 0028114
2026-03-11 22:35 Christian Grothoff Note Added: 0028115
2026-03-21 00:57 Christian Grothoff Assigned To => Christian Grothoff
2026-03-21 00:57 Christian Grothoff Status confirmed => assigned
2026-03-22 23:00 Christian Grothoff Note Added: 0028240
2026-03-22 23:16 Christian Grothoff Assigned To Christian Grothoff => Florian Dold
2026-03-22 23:16 Christian Grothoff Target Version 1.6 => 1.5
2026-03-22 23:16 Christian Grothoff Note Added: 0028241