I did some more research and here are some findings:

1) Based on https://httpd.apache.org/docs/2.4/mod/mod_proxy.html ,
enablereuse default to On. This means if I remove it, it should be the same
as I set it to On. Unfortunately, this contradicts my observation in my
original email.

2) https://www.mail-archive.com/dev@httpd.apache.org/msg74177.html seems to
say things have changed from prior to 2.4.4x:

> +        /* Prior to 2.4.4x, regex workers with dollar substitution
> +         * were never matched and fell into the generic worker. To
> +         * avoid dns/connection reuse compat issues, let's set
> +         * disablereuse by default, which can still be overwritten
> +         * by an explicit enablereuse=on.
> +         */

This explains my observations in Debian 11 with Apache 2.4.54. When I
remove the explicit "enablereuse=on", it defaults to disablereuse.

Based on all above, it sounds like Apache enablereuse=on won't work with
ProxyPassMatch. We probably should update the Apache docs.
Now the question is if mod_proxy_http2, will ProxyPassMatch support
connection reuse?

Frank



On Thu, Sep 22, 2022 at 4:48 PM Frank Liu <gfrank...@gmail.com> wrote:

> Hi,
>
> I am using the bundled apache on Debian 10 and Debian 11 as a reverse
> proxy. I found one problem that is only in Debian 11 which bundles apache
> 2.4.54.  The Debian 10 bundled apache 2.4.38 seems to work as expected.
>
> ProxyPassMatch ^/(prod|dev)/([-a-z0-9]+)/(.*)$ http://$2.internal/$1/$2/$3
> enablereuse=on keepalive=on
>
> When the user chrome browses the apache using /prod/host1/something,
> apache proxies the request to backend server host1.internal but then when
> chrome browses /prod/host2/something, apache again sends to host1.internal.
> I would expect the request to go to host2.internal.
>
> Again, the issue is only with Apache 2.4.54 on Debian11. The old Debiain
> 10 (apache 2.4.38) works correctly using the same configuration. The
> request goes to host1.internal and host2.internal based on the request URI.
>
> If I remove "enablereuse=on" from Debian 11 apache config, it will work
> correctly. Is this a feature or bug?
>
> Thanks!
> Frank
>
>
>
>

Reply via email to