Doesn't that completely avoid/ignore the issue in the 1st place?
On Sep 17, 2013, at 11:08 AM, "Plüm, Rüdiger, Vodafone Group"
<[email protected]> wrote:
> How about
>
> RewriteEngine On
>
> RewriteCond %{HTTPS} =off
> RewriteRule . - [E=protocol:http]
> RewriteCond %{HTTPS} =on
> RewriteRule . - [E=protocol:https]
>
> RewriteRule ^/my_app/(.*) %{protocol}://1.2.3.4/my_app/$1 [P]
> ProxyPassReverse /my_app/ http://1.2.3.4/my_app/
> ProxyPassReverse /my_app/ https://1.2.3.4/my_app/
>
> ?
>
> Regards
>
> Rüdiger
>
> From: Jeff Trawick [mailto:[email protected]]
> Sent: Dienstag, 17. September 2013 15:24
> To: Apache HTTP Server Development List
> Subject: Re: [PATCH 55315] mod_proxy interpolation code broken by regression
> to APR-util 1.5.2
>
> On Wed, Sep 4, 2013 at 5:12 PM, Mike Rumph <[email protected]> wrote:
> Hello Jeff,
>
> Thanks for your reply.
>
>
> On 9/3/2013 6:58 AM, Jeff Trawick wrote:
>
> Since the URL validation in apr_uri_parse() has been tightened in the
> handling of the scheme portion of a URL,
> I submitted a patch to httpd bug 55315 against the mod_proxy code in httpd
> trunk to handle the special case
> of interpolating a variable in the scheme portion of a URL.
>
> - https://issues.apache.org/bugzilla/show_bug.cgi?id=55315
>
>
> Do you know if it is practical to have the one magic path down to
> ap_proxy_define_worker() munge the URI? I guess the problem is that
> ap_proxy_define_worker() saves the parsed uri, and the caller (add_pass or
> whatever it is) doesn't have access to that?
>
> I take your point to be that the mod_proxy patch I submitted cannot be
> applied to the branches, since it changes the API.
> So I've submitted a new patch that is applied further up the stack in
> add_pass() in mod_proxy.c.
>
> That patch (https://issues.apache.org/bugzilla/attachment.cgi?id=30799) is
> the one I'm considering, as it is the one that could solve the issue for
> 2.2.x (with a minor tweak) and 2.4.x (as-is), and I don't think the function
> API issue is the major concern. Instead, carrying the interpolation
> expression around in the worker scheme field separate from an interpolation
> flag seems to be the overriding issue.
>
> Dynamic determination of the scheme seems very useful and I don't know of
> another way to implement the same requirement, which is well illustrated by
> the now-broken config in the bug:
>
> ProxyPassInterpolateEnv On
> RewriteEngine On
>
> RewriteCond %{HTTPS} =off
> RewriteRule . - [E=protocol:http]
> RewriteCond %{HTTPS} =on
> RewriteRule . - [E=protocol:https]
>
> ProxyPass /my_app/ ${protocol}://1.2.3.4/my_app/ interpolate
> ProxyPassReverse /my_app/ ${protocol}://1.2.3.4/my_app/ interpolate
>
> Any alternate ideas for configuring something like that?
>
> Otherwise, any objections to patch 30799 (URL above)?
>
>
>
>
> It is interesting that my research seems to indicate that mod_proxy
> interpolation was actually the first to be introduced into the code.
>
> I guess the order is this:
>
> 1. support for environment variables in the config
> 2. mod_proxy interpolation
> 3. core server starts complaining if you have something that looks like an
> envvar reference that isn't resolved
>
> Is that what you mean?
>
> The double use of ${} is nasty. In the fullness of time, I think that
> mod_proxy interpolation should support an additional syntax that doesn't
> collide with the config-time processing.
>
> Yes, that is the point that I was trying to make.
>
> Thanks,
>
> Mike Rumph
>
>
>
> --
> Born in Roswell... married an alien...
> http://emptyhammock.com/