Bug 1471547 - httpd-2.4.27 removes mod_http2.so without replacement which leads to httpd failing to start/silent dropping of http2 support
Summary: httpd-2.4.27 removes mod_http2.so without replacement which leads to httpd fa...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: httpd
Version: 25
Hardware: All
OS: Unspecified
unspecified
high
Target Milestone: ---
Assignee: Luboš Uhliarik
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2017-07-16 20:02 UTC by Oli
Modified: 2017-09-21 17:48 UTC (History)
5 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2017-09-21 17:48:32 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Oli 2017-07-16 20:02:52 UTC
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):

httpd-2.4.27-2.fc25.x86_64

How reproducible:

Always reproducable

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

Actual results:

Apache server failed to run, leaving no web server running.

Expected results:

Apache server updates and has HTTP2 support

Additional info:

libnghttp2 and nghttp2 were installed and working fine.

Possibly the issues are related to the following

https://bugzilla.redhat.com/show_bug.cgi?id=1440780

https://src.fedoraproject.org/cgit/rpms/httpd.git/commit/?id=dbcbdf8a7373333db3b7d887ebf49744a1b409e2

Comment 1 Oli 2017-07-16 20:11:12 UTC
Workarounds:

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)

or

Remove http2.so from 00-base (or replace with 00-base.conf.rpmnew) and lose http2 support for now.

Comment 2 Joe Orton 2017-09-21 17:48:32 UTC
Fixed in current updates.


Note You need to log in before you can comment on or make changes to this bug.