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

HTTP/2 support released

custer

Administrator
Staff member
Hey everyone,

To celebrate the International Day of Human Space Flight day, we've just released HTTP/2 support in Plesk 12.5 MU#28 (changelog will be updated soon to reflect this). Our ancestors were the first to conquer space, and now we're the first to conquer HTTP/2 among control panels. ;)

To enable HTTP/2, read the following article: https://kb.plesk.com/en/128733

Let us know if you experience any issues. Cheers!
 
Plesk 12.5MU#28 on Centos7. Enabling http/2 via the KB article regenerated the apache config with modsecurity settings added, although modsecurity was disabled on the server. Apache was unable to restart. Enabled modsecurity, regenerated the config files and all is working well.
 
I'm getting cURL errors with HTTP 2 enabled. I suspect cURL needs updating but yum update reports no packages available for update but the version I have is 7.19.7 (on Centos) so I know there should be. This link https://serverfault.com/questions/321321/upgrade-curl-to-latest-on-centos/686264 provides instructions on how to update via another repo but I don't want to do this if it might break something or if there is a better way to do this for Plesk. Any suggestions?
 
I'm getting cURL errors with HTTP 2 enabled. I suspect cURL needs updating but yum update reports no packages available for update but the version I have is 7.19.7 (on Centos) so I know there should be. This link https://serverfault.com/questions/321321/upgrade-curl-to-latest-on-centos/686264 provides instructions on how to update via another repo but I don't want to do this if it might break something or if there is a better way to do this for Plesk. Any suggestions?

I have also seen this article https://serversforhackers.com/video/curl-with-http2-support which uses the official repo but has some different steps. The terminal command "curl -I -k https://www.mydomain.com" throws the error "curl: (35) SSL connect error"
 
I took such error when i enable http2 support.

WARNING: You are using a custom virtual host template(/usr/local/psa/admin/conf/templates/custom/domain/nginxDomainVirtualHost.php)
This may cause issues with enabling HTTP/2 support for domains.
 
how will it work with a mixed environment domains (apache on some, nginx on other) ? will the pure apache stay with http 1.1 ?
Is the http/2 only enforce when you choose php application served with nginx ?
 
how will it work with a mixed environment domains (apache on some, nginx on other) ? will the pure apache stay with http 1.1 ?
Is the http/2 only enforce when you choose php application served with nginx ?

Should work for all environments with NGINX in front of apache, just check that service "Reverse Proxy Server (nginx)" is running as it's described in mentioned KB https://kb.plesk.com/en/128733
 
[mng@lixx-63 ~]# /usr/local/psa/bin/http2_pref enable
WARNING: You are using a custom virtual host template(/usr/local/psa/admin/conf/templates/custom/domain/nginxDomainVirtualHost.php)
This may cause issues with enabling HTTP/2 support for domains.



nginx1.9.14-centos6.16040615
OS ‪CentOS 6.7 (Final)‬

Plesk version 12.5.30 Update #28, last updated at April 13, 2016 07:02 PM
 
Thanks, I'd give a trial...

Since our centos 7 server was previously updated, openssl was fine.
We did install the Plesk 12.5 MU#28, worked fine.

Did the /usr/local/psa/bin/http2_pref enable command line

It took a while....

And magic ! Everything work fine !
Kuddows !

Nice job from the plesk team !

Can we expect ALPN soon ?
 
[mng@lixx-63 ~]# /usr/local/psa/bin/http2_pref enable
WARNING: You are using a custom virtual host template(/usr/local/psa/admin/conf/templates/custom/domain/nginxDomainVirtualHost.php)
This may cause issues with enabling HTTP/2 support for domains.



nginx1.9.14-centos6.16040615
OS ‪CentOS 6.7 (Final)‬

Plesk version 12.5.30 Update #28, last updated at April 13, 2016 07:02 PM



I'm even taking warning here ...
 
[mng@lixx-63 ~]# /usr/local/psa/bin/http2_pref enable
WARNING: You are using a custom virtual host template(/usr/local/psa/admin/conf/templates/custom/domain/nginxDomainVirtualHost.php)
This may cause issues with enabling HTTP/2 support for domains.

nginx1.9.14-centos6.16040615
OS ‪CentOS 6.7 (Final)‬

Plesk version 12.5.30 Update #28, last updated at April 13, 2016 07:02 PM

Hi all,
Not a big deal
This output warns you that your web server's configuration has some kind of customisations that might conflict with HTTP/2 enabling.
Probably you applied some solution from KB or Plesk Support team did it before.
1) You can simply delete this custom configuration file: /usr/local/psa/admin/conf/templates/custom/domain/nginxDomainVirtualHost.php
BUT in this case customisations will be lost. (do not forget to make a backup of the file)
OR
2) You can edit this file in the following way:
save backup of this file somewhere
find row similar to
($OPT['default'] ? ' default_server' : '') . ($OPT['ssl'] ? ' ssl' : '') ?>;
and replace it with 2 rows:
($OPT['default'] ? ' default_server' : '') . ($OPT['ssl'] ? ' ssl' : '') .
($OPT['ssl'] && $VAR->domain->physicalHosting->proxySettings['nginxHttp2'] ? ' http2' : '') ?>;

Now run again:
# /usr/local/psa/bin/http2_pref enable
If you choose way 2) then you will still see the same warning, but now can just ignore it.

P.S. If you know what exactly issue has been fixed on your server using this custom template, please let me know and I'll check if it's needed at all now. May be the fix has been already delivered in one of Plesk 12.5 updates and is not necessary anymore.

Thanks,
 
@dash, (and @custer)

If I am not mistaken, Apache is still on HTTP/1.

After all, the http2_pref script does not seem to handle the (required) HTTP/2 settings for Apache.

Can you confirm or state otherwise?

Anyway, note the following REQUESTS:

a) the http2_pref script should preferably be in .../admin/sbin with the root being /usr/local/ (CentOS/RHEL) or /opt/psa (Ubuntu/Debian)

b) a button or function, for enabling/disabling HTTP/2, should be present in the Plesk Panel (potentially under "Tools & Settings > Apache Web Server")

c) automatically add proper SSL certificates (for instance, letsencrypt certificates): HTTP/2 does not require those, but most of the HTTP/2 compatible browsers DO (!)


If anyone of the forum members likes these requests or the added value thereof, I just suggest that you click on "Like" for this post, in order to support the requests.

Regards....
 
If I am not mistaken, Apache is still on HTTP/1.
As far as I remember support of HTTP/2 has been added since version 2.4.17 as mod_http2 and if I'm not mistaken, at the moment, there are no this or higher Apache versions in the official repos of OS vendors.
 
@IgorG,

Correct, Apache 2.4.17 supports http2 on a VirtualHost and Server level, but the following is required

a) the module has to be enabled,

b) activation within the VirtualHost or the Server context: module support on the VirtualHost AND the server level is available

c) activation for HTTP/2 over TLS and/or HTTP/2 over TCP: module support is available for TLS or TCP, which requires the following lines

Protocols h2 http/1.1 (for HTTP/2 over TLS)

and/or

Protocols h2c http/1.1 (for HTTP/2 over TCP)

within the VirtualHost or the Server context.


In short, one still needs the line

Protocols h2 h2c http/1.1 (on the Server level)

OR

Protocols h2 http/1.1 (on the VirtualHost level, with http connections)
Protocols h2c http/1.1 (on the VirtualHost level, with https connections)

and it simply was the question whether Plesk default Apache package is adjusted to contain the configuration required for HTTP/2.

Regards.....
 
Back
Top