Red Hat Bugzilla – Bug 1471547
httpd-2.4.27 removes mod_http2.so without replacement which leads to httpd failing to start/silent dropping of http2 support
Last modified: 2017-09-21 13:48:32 EDT
Description of problem:
The httpd-2.4.27-2.fc25.x86_64 package removes mod_http2.so from /usr/lib64/httpd/modules which is still depended upon by /etc/httpd/conf.modules.d/00-base.conf in a default install. mod_http2.so is not provided by any package for Fedora 25 (apparently there will be/is a mod_http2 package for Fedora 26, but this is not currently available on Fedora 25), so HTTP2 functionality is completely removed from servers currently using it without warning.
To make this worse, if there have ever been any changes to the 00-base.conf file, the mod_http2.so include line is not removed (and it just goes into 00-base.conf.rpmnew), and then httpd fails to restart after applying the update, bringing the web server down and resulting in the following syntax error:
httpd: Syntax error on line 56 of /etc/httpd/conf/httpd.conf: Syntax error on line 40 of /etc/httpd/conf.modules.d/00-base.conf: Cannot load modules/mod_http2.so into server: /etc/httpd/modules/mod_http2.so: cannot open shared object file: No such file or directory
(This occurred for me on a system where I have not modified 00-base.conf myself)
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. Install httpd-2.4.23-4.fc25.x86_64
2. Make a modification to 00-base.conf of some kind
3. Update with httpd-2.4.27-2.fc25.x86_64 (creating 00-base.conf.rpmnew instead)
4. Apache httpd server fails to start with syntax error
5. Downgrade to httpd-2.4.23-4.fc25.x86_64 (and apache works again, mod_http2.so restored)
6. Use the https://tools.keycdn.com/http2-test to see HTTP2 support is enabled
7. Install httpd-2.4.27-2.fc25.x86_64
8. Restore default config/remove mod
8. Use the https://tools.keycdn.com/http2-test to see HTTP2 support is now disabled
Apache server failed to run, leaving no web server running.
Apache server updates and has HTTP2 support
libnghttp2 and nghttp2 were installed and working fine.
Possibly the issues are related to the following
Downgrade to httpd-2.4.23-4.fc25.x86_64
dnf install --allowerasing httpd-2.4.23-4.fc25.x86_64
(You'll need to make sure dnf doesn't re-update httpd)
Remove http2.so from 00-base (or replace with 00-base.conf.rpmnew) and lose http2 support for now.
Fixed in current updates.