# (Plesk for Linux) HTTP/3 Support in Plesk

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, Limitations, and Technical Notes

- 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.

  Осторожно

  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.

- Enabling HTTP/3 for a website without nginx proxy mode enabled will automatically add the `fastcgi_param HTTP_HOST $host;` directive to the website’s nginx configuration file. This change was introduced to avoid disruptions or functionality issues that may occur in certain cases when HTTP/3 is enabled but nginx proxy mode is disabled.

## Enabling HTTP/3 for the Plesk server

Plesk supports HTTP/3 for 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 for the Plesk server:

1. Log in to your 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.

   Примечание

   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 port 443.

   Примечание

   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.

3. Check if HTTP/3 was enabled for 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).

Примечание

Enabling HTTP/3 for the Plesk server also automatically enables it for all hosted websites.

## Enabling/Disabling HTTP/3 for a website

1. Go to Websites & Domains > domain card > the «Hosting & DNS» tab > Apache & nginx.

2. Once HTTP/3 is enabled at the server level, all hosted websites support it by default. To disable HTTP/3 for a website, clear the «HTTP/3 support» checkbox, and then click OK. To re-enable HTTP/3 for a website, select the «HTTP/3 support» checkbox, and then click OK.

## Disabling HTTP/3 management for websites

By default, customers and resellers can enable and disable HTTP/3 for individual websites. As the Plesk administrator, you may want to preserve the existing HTTP/3 configuration by preventing your customers and resellers from changing it.

To disable HTTP/3 management for websites:

1. Откройте для редактирования файл panel.ini, расположенный по адресу `/usr/local/psa/admin/conf/panel.ini`.

   Вы также можете редактировать файл в интерфейсе Plesk, используя расширение Panel.ini Editor.

2. Добавьте следующие строки в файл `panel.ini` и сохраните его:

       [domainManagement]
       features.nginxHttp3PerDomain = false

You have disabled HTTP/3 management for websites, and the «HTTP/3 support» checkbox is no longer shown in Apache & nginx settings of websites.

Примечание

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