For everybody that is on CentOS, I would think it is better to wait. Because RedHat 7.4 is already released, and therefor soon CentOS 7.4 will come. And in 7.4 there is default support for ALPN https://ma.ttias.be/centos-7-4-ship-tls-1-2-alpn/
Let's get it fixed!
This is how you can fix it: you should upgrade the basic version the package to the latest available OpenSSL 1.0.1u or even newer OpenSSL 1.0.2 or OpenSSL 1.1.0.
Here are instructions on how to update it to the latest OpenSSL 1.0.1:
PHP is running with php-fpm. The following log shows that regular http is still being used:
redacted - - [02/Sep/2017:10:35:44 +0100] "GET / HTTP/1.1" 200 739 "-" "Mozilla/5.0 (X11; CrOS x86_64 9592.85.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.112 Safari/537.36"
I have Custombuild 2.0 running with php-fpm, so prefork shouldn't be running by default then anymore. See the following:
[root@server]# httpd -V
Server version: Apache/2.4.27 (Unix)
Server built: Sep 2 2017 11:09:38
Server's Module Magic Number: 20120211:68
Server loaded: APR 1.6.2, APR-UTIL 1.6.0
Compiled using: APR 1.6.2, APR-UTIL 1.6.0
Architecture: 64-bit
Server MPM: event
threaded: yes (fixed thread count)
forked: yes (variable process count)
Server compiled with....
-D APR_HAS_SENDFILE
-D APR_HAS_MMAP
-D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
-D APR_USE_SYSVSEM_SERIALIZE
-D APR_USE_PTHREAD_SERIALIZE
-D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
-D APR_HAS_OTHER_CHILD
-D AP_HAVE_RELIABLE_PIPED_LOGS
-D DYNAMIC_MODULE_LIMIT=256
-D HTTPD_ROOT="/etc/httpd"
-D HAVE_SYSTEMD
-D SUEXEC_BIN="/usr/sbin/suexec"
-D DEFAULT_PIDLOG="/var/logs/httpd.pid"
-D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
-D DEFAULT_ERRORLOG="logs/error_log"
-D AP_TYPES_CONFIG_FILE="conf/mime.types"
-D SERVER_CONFIG_FILE="conf/httpd.conf"
Edit custom/ap2/configure.apache, find:
Code:
"--with-ssl=/usr" \
Replace with:
Code:
"--enable-http2" \
"--enable-ssl-staticlib-deps" \
"--with-ssl=/usr/local/lib_http2" \
For everybody that is on CentOS, I would think it is better to wait. Because RedHat 7.4 is already released, and therefor soon CentOS 7.4 will come. And in 7.4 there is default support for ALPN https://ma.ttias.be/centos-7-4-ship-tls-1-2-alpn/
By the way Red Hat Enterprise Linux 7 and its derivatives including CentOS 7 will have OpenSSL 1.0.2 as a base version. It will allow to serve HTTP/2 traffic an easier way.
Release version: 7.4
Expected to be released on November 2017.
Really good news, isn't it!
Related:
- https://bugzilla.redhat.com/show_bug.cgi?id=1276310
- https://access.redhat.com/articles/3078
Thanks for your response. I'm afraid that has already been done. The original tutorial was followed (and also the one on Vultr to double check). OpenSSL version 1.1.0f was installed, like the OP described. CentOS is also fully up-to-date (7.3), Custombuild 2.0, Apache and everything else that Custombuild 2.0 finds with doing a ./build update.I have the same result so maybe try as in my post 1 post up to get a later system openssl version,
( here HTTP2 is up and running! with redhat relase Centos 7.3.1611 Core only Apache ( no NINGX)
Latest Custombuild 2 DA
and have this:
Thanks for your response. I'm afraid that has already been done. The original tutorial was followed (and also the one on Vultr to double check). OpenSSL version 1.1.0f was installed, like the OP described. CentOS is also fully up-to-date (7.3), Custombuild 2.0, Apache and everything else that Custombuild 2.0 finds with doing a ./build update.
Also the code replacements in custom/ap2/configure.apache have been done. Like I said, the tutorial was fully followed in the written order.
Is there anything else to try?
openssl version... gives at your box?Thanks for your response. I'm afraid that has already been done. The original tutorial was followed (and also the one on Vultr to double check). OpenSSL version 1.1.0f was installed, like the OP described. CentOS is also fully up-to-date (7.3), Custombuild 2.0, Apache and everything else that Custombuild 2.0 finds with doing a ./build update.
Also the code replacements in custom/ap2/configure.apache have been done. Like I said, the tutorial was fully followed in the written order.
Is there anything else to try?
Thank you for your reply. Is php-fpm still required? After building Apache, the following shows at the end of the installation process:You don't need to do any of the steps with CentOS7.4. "./build apache" or "./build nginx" will enable HTTP/2 by default, if it detects OpenSSL 1.0.2 or higher installed on the system.
You don't need to do any of the steps with CentOS7.4. "./build apache" or "./build nginx" will enable HTTP/2 by default, if it detects OpenSSL 1.0.2 or higher installed on the system.
Thank you for your reply. Is php-fpm still required? After building Apache, the following shows at the end of the installation process:
Apache 2.4.27 and higher will not negotiate http2 with mpm_prefork. Please do not use mod_php or disable http2 in the directadmin.conf
Thank you for your reply. Is php-fpm still required? After building Apache, the following shows at the end of the installation process:
Apache 2.4.27 and higher will not negotiate http2 with mpm_prefork. Please do not use mod_php or disable http2 in the directadmin.conf
But at https://www.directadmin.com/features.php?id=1884 it says: "Requires: http2=1 in the directadmin.conf."
Can you please confirm it still is needed to have http2=1 in directadmin.conf, and that it still is needed to have pre-release of DirectAdmin 1.515?
CustomBuild sets http2=1 automatically if it detects that OpenSSL supports ALPN extension. So, there is no need to do it. If you'd like to permanently disable http2 on your system, http2=0 needs to be set in directadmin.conf. If you already have http2=0 in directadmin.conf, CustomBuild will not change it's value. I hope it's clear