# HTTP/3 support

**Project:** Servers | **Board:** Live | **Votes:** 21
**URL:** https://roadmap.ploi.io/projects/1-server-level-requests/items/736-http3-support

---

NGINX mainline supports HTTP/3 now and it would be nice for a (newly deployed server) to enable this for vhosts and open the 443/UDP port. Possibly optional since it requires mainline NGINX but IMHO worth it. 

Background info:
- packages: https://nginx.org/en/linux_packages.html
- mainline vs. stable: https://serverfault.com/a/715126/602652

---

## Comments

**Dennis** (2023-07-27T07:55:07+00:00):
Before we'll do this implementation, we'll have to upgrade our NGINX installations.

We've released that this morning, 1.24 is being installed on fresh servers now. We'll be adding a documentation article & upgrade button to upgrade existing NGINX versions. 

We'll have to wait until this seems stable and working, then we'll integrate the stable/mainline option inside the server builder, and also HTTP/3.

**Kay van Aarssen** (2023-09-06T17:46:13+00:00):
[@Dennis](/user/Dennis) Any news on this, and will it be an option on existing servers to switch to the Mainline version? Or do we need to deploy a new server for that?

**Simon** (2023-09-10T04:56:00+00:00):
Any update on this? I am looking to get my sites QUIC/HTTPS3 ready.

**Jesser Horitani** (2023-10-06T09:57:51+00:00):
Please also update haproxy on load balancers to version 2.8. That version also supports HTTP/3.

**dgillier** (2024-04-01T14:33:03+00:00):
Hello, Any news on this ?

**Dennis** (2024-07-09T07:12:40+00:00):
Yes, the news: https://x.com/dennis_smink/status/1810568164863856993

**Kay van Aarssen** (2024-08-02T05:16:42+00:00):
For now if you want to use it add this to your NGINX Site config;

```
    # HTTP/3 QUIC
    listen 443 quic reuseport;
    listen [::]:443 quic reuseport;
    ssl_protocols TLSv1.3;
    ssl_session_timeout 1d;
    ssl_session_cache shared:SSL:10m;
    add_header Alt-Svc 'h3-29=":443"; ma=86400'; # h3-29 is the version of HTTP/3
    add_header X-Content-Type-Options nosniff;
```

Make sure you also open port **443 UDP** on both your VPS Provider if you have Firewall Enabled and also in the network tab on the server level in Ploi.

To see if HTTP/3 Works you can use this website: https://http3check.net/

**Dennis** (2024-10-15T09:00:59+00:00):
![](https://roadmap.ploi.io/storage/HkCfaL0Zv0WdkxnPKQqcWsqJFmRkPCOrkdWV5fsF.png)
It would be beautiful if anyone here can test! Kay already did, and it was a success 🔥

**Julius Kiekbusch** (2024-10-30T10:35:29+00:00):
Hey, I would also like to test this, but I am unsure what steps I need to follow.

First I checked on a Ubuntu 20.04 LTS the nginx version with `nginx -v`:  
`nginx version: nginx/1.18.0 (Ubuntu)`

I probably need to upgrade my nginx, for HTTP/3 Support right? How would I do that?

Afterwards I would add the snippet from Kay to the site which should support HTTP/3:
```
    # HTTP/3 QUIC
    listen 443 quic reuseport;
    listen [::]:443 quic reuseport;
    ssl_protocols TLSv1.3;
    ssl_session_timeout 1d;
    ssl_session_cache shared:SSL:10m;
    add_header Alt-Svc 'h3-29=":443"; ma=86400'; # h3-29 is the version of HTTP/3
    add_header X-Content-Type-Options nosniff;
```

Lastly I need to request a new Let's Encrypt certificate with HTTP/3 support right?

Or are there other constraints/requirements/steps to follow?

**Dennis** (2024-11-19T07:57:42+00:00):
Ok so with Ploi, your server needs to be created after **May 2024**, if it's not, it wont automatically allow you.

This guide, shows you how you can do it manually: https://ploi.io/documentation/server/setting-up-http3-with-nginx-on-ubuntu

You do **not** need to request a fresh SSL certificate, this is unrelated.

