• 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

Resolved HTTP 3 is not used despite NGINX Only hosting

FloLa

Basic Pleskian
Server operating system version
Debian 10.13
Plesk version and microupdate number
v18.0.61_build1800240528.05
I saw that HTTP 3 is now possible for NGINX.
All my servers have NGINX only hosting. Now I wanted to activate it according to the instructions, i.e.:

Plesk Guide

I also installed the firewall etc. but the HTTP 3 protocol is not being used for me, various test sites also show that it is not installed, what can I do?
The following are my settings:

q8BDE3T.png


Vt6i5wa.png


tlD1B8l.png

aDjLohk.png
 
Hi!

Do you see "alt-svc: h3=":443"; ma=86400" header in server's answers?
Have you tried to get website content over http/3 protocol only (e.g.: `curl --http3-only`)?
Do you have any firewalls outside of your server (like a cloud firewall provided by a hoster)?

We have discussed a similar topic in this thread, Resolved - http/3 supported by plesk?. Makes sense to check that a browser is informed about the ability to use HTTP/3 with a website and check that 443/udp traffic is really allowed to and from the server in firewall(s).
 
Hi!


Many thanks for your response.

I tried to do a check via CURL, unfortunately without success.
When I look at the Plesk site I see an Alt-SVC header, when I open my website I don't get such a header.
So it definitely doesn't work, the browser can do it too.

I don't have an external firewall or anything active either, really just everything from the Plesk installation.

My Server:

xr2TeC9zQ-in0UFawKM_gA.png


Plesk Website:

SumdhGD0S5WWzUAo4kb5Jw.png
 
Just ideas what makes sense to check to narrow down the area to look for the problem.
Since there is no the "alt-svc" header, need to dig deeper to figure out why it is missed.
  • Check that the nginx webserver is listening for HTTP/3 connections (443/udp). In this example, I use a website with the domain "practical-fermat.192-0-2-1.plesk.page".
Code:
# grep -2 'h3=' /var/www/vhosts/system/practical-fermat.192-0-2-1.plesk.page/conf/nginx.conf 
server {
        listen 192.0.2.1:443 quic;
        add_header Alt-Svc 'h3=":443"; ma=86400';
        listen 192.0.2.1:443 ssl;
        http2 on;

Code:
# netstat -lunp | grep nginx
udp        0      0 192.0.2.1:443           0.0.0.0:*                           2097/nginx: master  
[...]

  • Do you have ability to create a new website with technical domain (like https.//practical-fermat.192-0-2-1.plesk.page) to check how it works without customizations on a blank website,
1717398260065.png

If something is different, need to check the webserver settings. If everything is ok, need to check website.
 
I just found one thing, see screenshot:

KrdyKnm.png


Only the following is present in the file

d2W0PVM.png

Why is this?
 
Hi,

I got a similar prblem, no solution. Erverything looks like a Firewall in front of the serve by hosting provider. I asked mine, they say no. firewalls at my server are open, all the given check in this thead are ok. That alll is a big questiomark.

I only sometimes get on a picture .svg or an banner an h3. When I hoover with the mouse over it, it say. this date won the race against h2. So maybe h3 is at my servers to slow and the browser take h2.
 
Hi,

I got a similar prblem, no solution. Erverything looks like a Firewall in front of the serve by hosting provider. I asked mine, they say no. firewalls at my server are open, all the given check in this thead are ok. That alll is a big questiomark.

I only sometimes get on a picture .svg or an banner an h3. When I hoover with the mouse over it, it say. this date won the race against h2. So maybe h3 is at my servers to slow and the browser take h2.
Unfortunately, for some reason H3 doesn't work for me even when I explicitly try to use it.
 
What is the difference between the command:

Code:
plesk bin http3_pref --enable -nginx

And:

Code:
plesk bin http3_pref --enable -panel -nginx

Is it just the Plesk panel?
 
What is the difference between the command:

Code:
plesk bin http3_pref --enable -nginx

And:

Code:
plesk bin http3_pref --enable -panel -nginx

Is it just the Plesk panel?
This was covered in that previous thread that you've looked at, plus the later changes made by Plesk, which disabled the panel from http/3 anyway.

Assuming that you have Curl that will function with http/3 (Cloudfare can assist, if you don't / need to re-config) then please post your curl tests on here, as they are more informative than the images that have been posted so far.

As stated in that post (that's linked in our previous post), currently, it's quite easy to be mis-informed by browser tests, even if, you think that you have correctly configured them fopr http/3.
 
After the last update "Plesk Obsidian 18.0.61 Update 5" and deactivating and activating it again, HTTP3 now seems to work.
At least it works with CURL, I still get the wrong result on the "HTTP/3 Check" page, but that shouldn't bother me.

For whatever reason, my server also prefers to use HTTP2 over HTTP3.

TxwQdFs.png
 
After the last update "Plesk Obsidian 18.0.61 Update 5" and deactivating and activating it again, HTTP3 now seems to work.
At least it works with CURL, I still get the wrong result on the "HTTP/3 Check" page, but that shouldn't bother me.
You've now proved that HTTP/3 is active on your server. That's the critical part. At present it's almost a guarantee that some browsers, will sometimes, on some sites...(!) provide a false HTTP/3 response. That will improve over time, as HTTP/3 becomes the new 'default' as opposed to it being classed as 'experimental'.
For whatever reason, my server also prefers to use HTTP2 over HTTP3.
The answer may be this:

HTTP version negotiation is required before using HTTP/3

HTTP/3 generally doesn’t work for the first request because browsers assume by default that the server doesn’t support HTTP/3 and send the first request via either HTTP/2 or HTTP/1.1 on a TCP connection. If the server supports HTTP/3, it responds with an Alt-Svc (Alternative Service) header that informs the client that it can send HTTP/3 requests. The browser can respond in different ways: it can open a QUIC connection right away or wait until the TCP connection is closed. Either way, an HTTP/3 connection is only set up after the initial resources have been downloaded over an HTTP/1.1 or HTTP/2 connection.
This ^^ is taken from this detailed and informative page: A Comprehensive Guide To HTTP/3 And QUIC | DebugBear
 
@Paulo_o I currently have worker_processes = 8 or worker_processes = 12, it depends on the server, in principle I just want all cores to be used.

HTTP3 works for me with Curl but it just doesn't show up in the browser.
But as long as there isn't a stable version of it, the module is uninteresting anyway, until then the details will be out.
 
Back
Top