• ResourcesGuide
  • PSA: Prevent QUIC / HTTP/3 "NS_ERROR_NET_PARTIAL_TRANSFER" with "reuseport"

There was a persistent problem with QUIC / http/3 connections resulting in broken transfers.

Details: Seemingly randomly static files like .css, .js and .woff2 - even images showed a "NS_ERROR_NET_PARTIAL_TRANSFER" error in the browser's Web Developers Network Tab.

Possible reason: It appears that nginx (tested 1.27.1 and 1.27) with Firefox (Release 130 and potentially other browsers?) mix up http/2 and http/3 connections listening on the same port after an http/2 to http/3 upgrade happened. The issue of "NS_ERROR_NET_PARTIAL_TRANSFER" is not appearing on http/2 only connections.

To prevent this issue, make sure that one of your active sites defines the "reuseport" for QUIC in ssl.conf like /var/www/{domain.tld}/conf/nginx/ssl.conf like in these lines:

# Listen on port 443 with HTTP/3 QUIC
listen 443 quic reuseport;
listen [::]:443 quic reuseport;

->test and reload nginx conf.

It would be good to have "reuseport" set up by WordOps for the first site automatically. It can only be defined once inside the complete *.conf files that are loaded.

Thanks, found this with a quick search, and fixed my WordPress site! Thanks again!

  • dsc likes this.
a month later

Thanks for the help, maybe someone can add this to the project on Github so it could be the default. Since I implemented this all my connections are now h3 in Chrome, before it would load some resources from h2 and some from h3.

  • dsc likes this.

Hosted by VirtuBox