By default FlyWP’s reverse proxy only listens on ports 80 and 443 without HTTP/3.
To enable HTTP/3 / QUIC you need to expose UDP on 443 and turn on the HTTP/3 flag in the proxy container.
ssh fly@YOUR_SERVER_IP
cd ~/.flyYou should see docker-compose.yml in this directory.
Stop the running FlyWP stack before editing the compose file:
docker compose downOpen the compose file with your preferred editor:
vi docker-compose.yml
# or
nano docker-compose.ymlFind the proxy service. It will look similar to this:
services:
proxy:
image: 'nginxproxy/nginx-proxy:alpine'
container_name: nginx-proxy
restart: always
ports:
- '80:80'
- '443:443'
volumes:
- '/var/run/docker.sock:/tmp/docker.sock:ro'
- './nginx/certs:/etc/nginx/certs'
- './nginx/html:/usr/share/nginx/html'
- './nginx/conf.d:/etc/nginx/conf.d'
- './nginx/vhost:/etc/nginx/vhost.d'
networks:
- wordpress-sitesUpdate the ports section and add the environment variable so it becomes:
services:
proxy:
image: 'nginxproxy/nginx-proxy:alpine'
container_name: nginx-proxy
restart: always
ports:
- '80:80'
- '443:443/tcp' # HTTPS over TCP
- '443:443/udp' # QUIC / HTTP/3 over UDP
environment:
- ENABLE_HTTP3=true # Enable HTTP/3 globally
volumes:
- '/var/run/docker.sock:/tmp/docker.sock:ro'
- './nginx/certs:/etc/nginx/certs'
- './nginx/html:/usr/share/nginx/html'
- './nginx/conf.d:/etc/nginx/conf.d'
- './nginx/vhost:/etc/nginx/vhost.d'
networks:
- wordpress-sitesSave and exit the editor.
Bring the stack back up in detached mode:
docker compose up -dWait a few seconds for the proxy to start.
You can check that the proxy is running:
docker ps | grep nginx-proxyTo verify HTTP/3 from a client machine you can use curl with HTTP/3 support (if available):
curl -I --http3 https://your-domain.comOr go to https://http3check.net/ and check your site.