On Mon, May 19, 2025 at 7:42 PM Yann Ylavic <ylavic....@gmail.com> wrote: > > On Mon, May 19, 2025 at 5:47 PM Ruediger Pluem <rpl...@apache.org> wrote: > > > > On 5/19/25 5:27 PM, Yann Ylavic wrote: > > > On Mon, May 19, 2025 at 4:54 PM Stefan Eissing via dev > > > <dev@httpd.apache.org> wrote: > > >> > > >>> Am 19.05.2025 um 16:46 schrieb Yann Ylavic <ylavic....@gmail.com>: > > >>> > > >>> > > >>> Hm, r1912459 added this test to disable reuse for CONNECT connections > > >>> to ProxyRemote, because I thought that CONNECT requests were not > > >>> reusable. > > >> > > >> Hmm, what kind of CONNECT connections are reusable? The common use case > > >> is a TLS tunnel, I think. It would not work to reuse that. > > > > > > I mean reusing the same TLS tunnel created with the target host > > > through the RemoteProxy, pushing more data/requests to it as they > > > come. > > > I think it's no different than reusing a TLS connection to some direct > > > backend, the same SSL* is used until it's shut down / closed (e.g. > > > forward_info mismatch). > > > > Maybe I am lost now, but when the client uses us as a forward proxy and > > does a CONNECT to us the CONNECT to a remote proxy cannot > > be used any longer once the client shuts down the connection to us. > > Yes but this is a case handled by mod_proxy_connect and there is no > way that connections created by mod_proxy_connect are reused, they > never go in the reslist, not using ap_proxy_determine_connection() or > ap_proxy_release_connection(). > > > It could work fine if the client uses a different HTTP method that requires > > us to do a CONNECT to the remote proxy. In this case > > we could reuse the connection provided that host and port fit. > > This is the ap_proxy_determine_connection() case, where the origin > server is to be connected through a ProxyRemote. > This happens in reverse proxy configurations too, and in this case > reusing the tunnel is useful because the target host/port is always > the same (I think Jean Frederic is having a use case like this given > the performance regression). > For a forward proxy configuration I don't think keeping the tunnel > alive is useful since the next request is likely for some other > target, maybe we should not reuse ProxyRemote connections for this > case only?
Actually connections attached to the "proxy:forward" worker are never recycled so this last point is moot. So I think we should be good by keeping conn->forward connections alive (if not closed by other means) when the existing forward_info still matches? > > Regards; > Yann.