• 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

http2 not working

xberg

New Pleskian
Hi,

I cannot get http2 to work.

I have enabled nginx and http2 on my server. When I go to:
https://tools.keycdn.com/http2-test
I see that http2 is enabled.

My site is https with A+ rating.

Then I try to activate http2 by adding, amongst other things to my nginx directives in plesk 12.5:
listen 443 ssl http2;

My sysadmin tells me that this line is added OK to the conf file.

But when I look in Chrome, all my resources are still delivered thru http1.1

I went thru:
https://kb.plesk.com/fr/128766

ie:
- ssl enabled
- nginx enabled
- openssl > 1.0.1
- no custom config template
- nginxhttp2=true
- we recreated the config files
 
Hi xberg,

what is the output of the command over SHH:

openssl s_client -connect YOUR-DOMAIN.COM:443 -nextprotoneg ''
 
Thank you for your answer. Here is the output:
ONNECTED(00000003)

Protocols advertised by server: h2, http/1.1

140705924921000:error:140920E3:SSL routines:SSL3_GET_SERVER_HELLO:parse tlsext:s3_clnt.c:1074:

---

no peer certificate available

---

No client certificate CA names sent

---

SSL handshake has read 87 bytes and written 7 bytes

---

New, (NONE), Cipher is (NONE)

Secure Renegotiation IS supported

Compression: NONE

Expansion: NONE

Next protocol: (2)

SSL-Session:

Protocol : TLSv1.2

Cipher : 0000

Session-ID:

Session-ID-ctx:

Master-Key:

Key-Arg : None

PSK identity: None

PSK identity hint: None

SRP username: None

Start Time: 1481189128

Timeout : 300 (sec)

Verify return code: 0 (ok)
 
Hi,
Thanks for your answer, but you have missed my point. I wrote:

I have enabled nginx and http2 on my server. When I go to:
https://tools.keycdn.com/http2-test
I see that http2 is enabled.

So, yes: http2 is enabled on the server.
But when I go to my site:
https://fotoloco.fr
The resources are delivered thru http 1.1

The point of this thread is precisely my concern that despite having http2 enabled on the server and following all plesk's directives that my resources are still delivered thru http 1.1.
 
Let me be more precise about my configuration:

I have nginx set as a reverse proxy
In Plesk's additional nginx directives I have:
listen 443 ssl http2;

and I have the first 2 boxes ticked: nginx manages static files / static files directly with nginx
 
Hi xberg,

could you pls. explain, HOW you check, how the content, with which protocol, is being served?

Small hints:

cdn1.fotoloco.fr/wp-content/uploads/2013/10/2livres-220px.jpg
is being served over h2

fotoloco.fr/wp-content/uploads/2015/05/bck_img.png
is being served over http/1.1​

Consider to check your wordpress configuration and don't look at Plesk and the server configuration. ;)
 
Hi,

Thanks.

cdn1.fotoloco.fr is delivered through an external CDN (content delivery network). It has nothing to do with my server. Different company, different site, different protocol.
Please only look at the files delivered by fotoloco.fr, which are all currently delivered though http 1.
To see if files are delivered through http2 I look at the Chrome console, under network with the protocol column turned on.

To my knowledge there is nothing in Wordpress configuration that influences http2 delivery. This is a plesk problem.
 
Hi xberg,

This is a plesk problem.
nope... it isn't. The issue is related to the wordpress core function "is_ssl()". ;)
Pls. consider to contact the Plesk support directly, if you would love further explanations and possible solutions, how to solve it, because it will require advanced Linux and Wordpress knowledge.
 
Hi,
Could you please be more precise? I tried Googl'ing following your "is_ssl" answer but I found very little of relevance. I don't understand how Wordpress would influence server file delivery protocol.

I have the following in my wp-config file:
if ( isset( $_SERVER['HTTP_X_FORWARDED_PROTO'] ) && 'https' == $_SERVER['HTTP_X_FORWARDED_PROTO'] ) {
$_SERVER['HTTPS'] = 'on';
}

But anyway: I created the following html test file which is not connected with Wordpress, and you will see that the static content test.css is not delivered through http2:

<head>
<link rel="stylesheet" type="text/css" href="/test/test.css">
</head>
<body>
test
</body>

on:

https://fotoloco.fr/test/test.html

So I still think it's a plesk error as this test rules out wordpress.
 
Back
Top