• If you are still using CentOS 7.9, it's time to convert to Alma 8 with the free centos2alma tool by Plesk or Plesk Migrator. Please let us know your experiences or concerns in this thread:
    CentOS2Alma discussion
  • Please beaware of a breaking change in the REST API on the current Plesk release (18.0.62).
    Starting from Plesk Obsidian 18.0.62, requests to REST API containing the Content-Type header with a media-type directive other than “application/json” will result in the HTTP “415 Unsupported Media Type” client error response code. Read more here

Question NGINX HTTP3 with Multiple Workers

Paulo_o

Basic Pleskian
Server operating system version
Ubuntu 20.04.6 LTS
Plesk version and microupdate number
Plesk Obsidian 18.0.61 #5
In order to have the HTTP3 working properly, it seems one must set reuseport on the quic port, if multiple nginx workers are defined on nginx.conf

Something like

Code:
listen [::0]:443 quic reuseport;


If reuseport is not used, errors like ngtcp2_conn_writev_stream returned error: ERR_DRAINING when running Curl -http3 as well as browser acesses are reset to HTTP2 protocol (unless worker_processes 1; is used).

On a Plesk server currently there is no reuseport defined on NGINX. This can be solved creating a custom template for /opt/psa/admin/conf/templates/default/domain/nginxDomainVirtualHost.php

I would like to know if in future plesk release this issue is going to be corrected, avoiding the custom template creation.
 
[...] I would like to know if in future plesk release this issue is going to be corrected, avoiding the custom template creation.
Thank you for drawing our attention to this. We are currently debating if we can add reuseport to the default NGINX templates. If (and when) we do, it will be published in the change log.

Just as some background, reuseport is only needed for HTTP/3 when Ngnix has been configured to use a custom worker_processes value. However, Plesk relies on the default Ngnix configuration, as we can't account for all different customization scenarios in Plesk. So using your own custom Ngnix template to utilize reuseport might be to way to go.
 
Thank you for your reply and information. Very apreciated.

I believe that most servers are using worker_processes auto; since value 1 its very restrictive for the most part of current servers (with several cores).

Anyway reuseport seems a default and can be used with any worker_processes configuration, being more general and avoiding the issues many people seems starting to have.

As alternative, on the page (Plesk for Linux) HTTP/3 Support in Plesk, would be usefull to inform that currently hhtp3 only works properly with worker_processes =1, unless reuseport is set on nginx conf (on the proper quic IP/port).
 
I believe that most servers are using worker_processes auto; since value 1 its very restrictive for the most part of current servers (with several cores).
That's an incorrect assumption. The default configuration when installing Ngnix is worker_processes 1 (as described in the Ngnix documentation). Hence that's what almost all servers are using :)

[...] As alternative, on the page (Plesk for Linux) HTTP/3 Support in Plesk, would be usefull to inform that currently hhtp3 only works properly with worker_processes =1, unless reuseport is set on nginx conf (on the proper quic IP/port).
That's a good suggestion. Thank you.
 
Back
Top