Note: This bug is displayed in read-only format because
the product is no longer active in Red Hat Bugzilla.
RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.
Feature: Add support for using SetHandler together with mod_proxy.
Reason: There was no way to use SetHandler with mod_proxy to configure it to use proxy for the incoming requests. This is useful for using for example php-fpm with event or worker MPM.
Result: SetHandler directive has been improved to allow setting proxy as a handler in, for example, following format: SetHandler "proxy:fcgi://127.0.0.1:9000".
The simple and common way to enable PHP support in Apache http server is using mod_php and
SetHandler application/x-httpd-php
Using httpd with worker or event MPM doesn't have support for mod_php
With RHSCL various PHP versions are available, but only one mod_php can be enabled.
The solution is to use php-fpm and mod_proxy_fcgi.
But configuration, to redirect PHP script to FPM, requires to use ProxyPass(Match) which is really not simple.
As ProxyPass is evaluated in the very beginning of an http request, it don't honours alias or htaccess rules.
SetHandler is evaluated at the very end of an http request.
httpd 2.4.10 have SetHandler to proxy support which allow to use
SetHandler "proxy:fcgi://127.0.0.1:9000"
Please consider backporting this great feature in RHEL
For memory, commit in fedora (at 2.4.9 time)
http://pkgs.fedoraproject.org/cgit/httpd.git/commit/?id=5b3da1ff0f24d6da3394e65c24656ab77dada3b3
Using php-fpm with actual httpd 2.4.6 package needs use of ProxyPassMatch directive which can lead to malicious code execution.
Example:
Using the following directive:
ProxyPassMatch ^/(.*\.php(/.*)?)$ fcgi://127.0.0.1:9000/path/to/your/documentroot
Malicious code injection:
/uploads/malicious.jpg/lalalaalala.php will lead php-fpm to execute malicious.jpg (source https://wiki.apache.org/httpd/PHP-FPM )
Might the SetHanlder enhancement be considered as a security enhancement and therefore backported ?
Regards,
Ozy.
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.
For information on the advisory, and where to find the updated
files, follow the link below.
If the solution does not work for you, open a new bug report.
https://rhn.redhat.com/errata/RHSA-2015-0325.html
The simple and common way to enable PHP support in Apache http server is using mod_php and SetHandler application/x-httpd-php Using httpd with worker or event MPM doesn't have support for mod_php With RHSCL various PHP versions are available, but only one mod_php can be enabled. The solution is to use php-fpm and mod_proxy_fcgi. But configuration, to redirect PHP script to FPM, requires to use ProxyPass(Match) which is really not simple. As ProxyPass is evaluated in the very beginning of an http request, it don't honours alias or htaccess rules. SetHandler is evaluated at the very end of an http request. httpd 2.4.10 have SetHandler to proxy support which allow to use SetHandler "proxy:fcgi://127.0.0.1:9000" Please consider backporting this great feature in RHEL For memory, commit in fedora (at 2.4.9 time) http://pkgs.fedoraproject.org/cgit/httpd.git/commit/?id=5b3da1ff0f24d6da3394e65c24656ab77dada3b3