• We value your experience with Plesk during 2024
    Plesk strives to perform even better in 2025. To help us improve further, please answer a few questions about your experience with Plesk Obsidian 2024.
    Please take this short survey:

    https://pt-research.typeform.com/to/AmZvSXkx
  • The Horde webmail has been deprecated. Its complete removal is scheduled for April 2025. For details and recommended actions, see the Feature and Deprecation Plan.
  • We’re working on enhancing the Monitoring feature in Plesk, and we could really use your expertise! If you’re open to sharing your experiences with server and website monitoring or providing feedback, we’d love to have a one-hour online meeting with you.

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