Bugzilla will be upgraded to version 5.0. The upgrade date is tentatively scheduled for 2 December 2018, pending final testing and feedback.
Bug 1136290 - SetHandler to proxy support
SetHandler to proxy support
Status: CLOSED ERRATA
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: httpd (Show other bugs)
7.1
Unspecified Unspecified
unspecified Severity unspecified
: rc
: ---
Assigned To: Web Stack Team
Martin Frodl
:
Depends On:
Blocks: 1136906
  Show dependency treegraph
 
Reported: 2014-09-02 05:40 EDT by Remi Collet
Modified: 2015-03-05 02:13 EST (History)
7 users (show)

See Also:
Fixed In Version: httpd-2.4.6-24.el7
Doc Type: Enhancement
Doc Text:
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".
Story Points: ---
Clone Of:
: 1136906 (view as bug list)
Environment:
Last Closed: 2015-03-05 02:13:10 EST
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)


External Trackers
Tracker ID Priority Status Summary Last Updated
Red Hat Product Errata RHSA-2015:0325 normal SHIPPED_LIVE Low: httpd security, bug fix, and enhancement update 2015-03-05 06:59:16 EST

  None (edit)
Description Remi Collet 2014-09-02 05:40:52 EDT
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
Comment 6 Orsiris de Jong 2014-12-11 17:03:40 EST
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.
Comment 8 errata-xmlrpc 2015-03-05 02:13:10 EST
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

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