HTTP/3 is the next major version of the Hypertext Transfer Protocol, offering faster and more reliable connections by using the QUIC protocol over UDP. RunCloud makes it easy to enable HTTP/3 for your web applications.
If you are using the container-based servers on RunCloud, you must perform a one-time manual step to enable HTTP/3 support on any server created before 9 July 2025. This is due to a limitation in how Docker Swarm handles network configuration updates.
This guide will walk you through the simple process of configuring your existing container server to support HTTP/3.
Note: This procedure is only necessary for existing container servers. All new container servers deployed on RunCloud after 9 July 2025 are already configured for HTTP/3 automatically.
Enabling HTTP/3 requires two steps:
- Update your nginx configuration using the RunCloud dashboard.
- Apply that change by running a single command on your server.
Step 1: Redeploy the nginx Stack in Your RunCloud Dashboard
The first step is to tell RunCloud to update your server’s master nginx configuration to listen on the required port for HTTP/3 (UDP 443).
- Navigate to the server where you want to enable HTTP/3 in your RunCloud dashboard.
- From the server’s main menu, click on ‘Services’.
- On this screen, click the … button next to nginx-rc and select the ‘Remove from Stack’ button from the menu.

- After removing the old nginx from your server, you will need to add the new nginx on your server. You can easily do this by clicking ‘Add to Stack’ next to the nginx.

- After adding the nginx to your server, you will now need to deploy these changes. This will push all the configurations to your server and make the necessary changes.

- Once you click ‘Deploy’, you will see the following modal. Click on ‘Proceed to Deploy’ to confirm your changes.

This action prepares the new configuration, but the currently running nginx container needs to be restarted to use it. You will do this in the next step.
Step 2: Manually Restart the nginx Container
Now you will connect to your server using a terminal to apply the configuration change. This forces Docker to stop the old nginx container and start a new one with the updated settings that support HTTP/3.
- Log in to your server as the root user via SSH. If you are unsure how to do this, please refer to our guide on how to connect to your server using SSH.
Once you are logged in, copy and paste the following command into your terminal and press Enter:
docker rm -f $(docker ps --filter name=nginx-rc -q)
The above command finds the running nginx container (named nginx-rc) and forcefully removes it. Docker Swarm will immediately and automatically launch a new, updated nginx container in its place.
After removing the old container, it is a good idea to verify that all containers are running correctly. Run the following command to see the status of your Docker containers:
docker ps

You should see nginx-rc in the list with an ‘Up’ status. This confirms that the new container has started successfully, and your server is ready.
Final Step: Enable HTTP/3 for Your Web Application
Your server is now fully configured to support HTTP/3. You can now enable it for any web application on this server.
- In your RunCloud dashboard, navigate to the Web Application you want to update.
- Go to the SSL/TLS section.
- You will now see the checkbox to Enable HTTP/3 – switch it on.

RunCloud will automatically configure your web application, and you can verify that it is being served over HTTP/3 using a tool like HTTP3Check.net.
You only need to perform the Redeploy and Command Line steps once per server. After that, you can enable or disable HTTP/3 for any web application on that server directly from the dashboard.