HTTP/3 is the third major version of the Hypertext Transfer Protocol (HTTP) used to exchange information on the World Wide Web. HTTP/3 is the latest version of HTTP and a significant advance over HTTP/2 introduced in 2015.

Compared to previous HTTP versions, HTTP/3 has the following advantages:

  • HTTP/3 connections are faster as well as more secure and reliable. Websites that use HTTP/3 are loaded faster and with minimum latency.
  • Websites browsed using mobile devices are loaded faster. HTTP/3 runs on QUIC, a new transport protocol. It was designed to work better with mobile networks and constant switching from one network to another.
  • HTTP/3 is a cutting-edge technology and a new standard. Websites that adopt it early can use this fact as a marketing advantage.

Known Issues and Limitations

  • HTTP/3 is supported on the basis of the nginx web server. It means that HTTP/3 works when websites are served only by nginx or the combination of nginx and Apache.

    Caution: HTTP/3 support is an experimental feature both in nginx and Plesk. Enable it at your own discretion because it can have negative side effects (for example, your websites may go offline).

  • HTTP/3 does not work when the “Nginx web server and reverse proxy server” component is not installed in Plesk. In this case, websites are served only by Apache, which does not support HTTP/3.

  • Plesk on CentOS 7 and Ubuntu 18 do not support HTTP/3. To enable HTTP/3, either dist-upgrade your OS or migrate to a modern one using Plesk Migrator.

  • HTTP/3 is enabled by default on new Plesk installations with version 18.0.61 and later. If you updated your Plesk or dist-upgraded the OS Plesk was running on, you need to enable HTTP/3 manually.

Enabling HTTP/3 in Plesk

Plesk supports HTTP/3 for its interface and hosted websites which use nginx or nginx and Apache. HTTP/3 is not enabled by default. You need to enable it manually.

To enable HTTP/3 in Plesk:

  1. Log in to you Plesk server via SSH and then run the following command:

    plesk bin http3_pref --enable -nginx

    The command enables HTTP/3 for hosted websites processed by nginx or nginx and Apache.

    Note: Enabling HTTP/3 automatically enables TLS 1.3.

  2. Go to the firewall which you use and add firewall rules that allow incoming connections to UDP ports 8443 and 443.

    Note: HTTP/3 runs on QUIC, a new transport protocol. It means that, unlike HTTP/2, HTTP/3 uses the User Datagram Protocol (UDP), not the Transmission Control Protocol (TCP).

    If you use the Plesk firewall, it will automatically offer changes to your firewall configuration prompted by the CLI command from the previous step. To accept these changes and make the firewall rules necessary for HTTP/3 active, click Apply Changes.

    image firewall configuration

  3. Check if HTTP/3 was enabled for Plesk itself and its hosted websites. To do so, we recommend that you use a third-party service, for example, HTTP/3 Check. You can also check HTTP/3 support in your browser’s developer console (on the “Network” tab, see the protocol used to transfer data).

Note: To see CLI commands and options related to HTTP/3, run plesk bin http3_pref --help.