Prefork and HTTP2
Howdy,
The Apache developers, as of Apache 2.4.27, have disabled HTTP2 when using the prefork MPM. A detailed explanation is below, or located at:
Pony Mail!
mod_http2(v1.10.6) causes segmentation fault " Issue #142 " icing/mod_h2 " GitHub
In 2.4.26 I changed the (undocumented) default from 1 to 4 h2 workers, which brought us to the issue I linked. The easy fix is 'H2MaxWorkers 1' in the config and you have the pre-2.4.26 behaviour.
Regardless of the discussion if the change in 2.4.26 was reasonable or not: it is not possible to map the prefork single-thread requirement on to HTTP/2. Not going to work. One long running request, one websocket opened, and your browser will stall.
This is not a bug, it is the collision of the processing models.
Please let us know if there are any questions.
Please let us know if there are any questions.
-
OK. Thank you. 0 -
Hi, I thought of installing http2 using EasyApache. However, I was prompted the following. -- The following conflicts are installed on this machine. They will be removed as part of this package selection: mod_cgi php71-php mod_mpm_prefork The following requirements are not installed on this machine. They will be added as part of this package selection: mod_http2 -- What will be the replacement modules for mod_cgi and php71-php? Please advise if I should install mpm worker and mod_suphp? What other modules are required? Do I need PHP-FPM? I look forward to your reply. Thank you. 0 -
What will be the replacement modules for mod_cgi and php71-php? Please advise if I should install mpm worker and mod_suphp? What other modules are required? Do I need PHP-FPM?
Hello, When you click "Continue", you will receive an additional prompt that states the following: Your selection removed ea-apache24-mod_mpm_prefork. An MPM package must exist on your system. Click "Continue" to select a new MPM package. Click "Cancel" to cancel this operation. suPHP and/or PHP-FPM with the Event MPM is an alternative that will allow you to use HTTP2. There is some discussion of this in the earlier posts. Thank you.0 -
I currently use Event and HTTP2 and this works for now. Questions... I would like to know if Prefork and HTTP2 or mod_ruid2 and HTTP2 is compatible yet? or I would like to know if Prefork and HTTP2 or mod_ruid2 and HTTP2 is being worked on for compatibly yet? 0 -
I would like to know if Prefork and HTTP2 or mod_ruid2 and HTTP2 is compatible yet?
I would like to know if Prefork and HTTP2 or mod_ruid2 and HTTP2 is being worked on for compatibly yet?
Hi @vlee, No, Prefork and HTTP2 are not compatible due to the technology behind how they are developed. I've not seen anything to suggest this will change in the future. You can find more technical details on why this is the case at: Pony Mail! mod_http2(v1.10.6) causes segmentation fault " Issue #142 " icing/mod_h2 " GitHub Thank you.0 -
Thank you I am just trying to find the best way on doing this with performance as well allowing the use of many different mod's and extensions as possible. But still keeping things secured. 0
Please sign in to leave a comment.
Comments
37 comments