atender todas las solicitudes a través de proxy * excepto * una específica

11

Tengo lo siguiente en mi httpd.conf

<VirtualHost *:80>
    ServerName foo.org
    ServerAlias www.foo.org

    <Proxy *>
        Options FollowSymLinks MultiViews
        Order allow,deny
        Allow from all
        AllowOverride All
    </Proxy>

    ProxyPass        / http://127.0.0.1:5012/
    ProxyPassReverse / http://127.0.0.1:5012/
</VirtualHost>

Esto funciona bien ya que todas las solicitudes de http://foo.org se atienden desde el puerto 5012 utilizando un servidor web diferente. Sin embargo, quiero servir solo http://foo.org/lib a través de Apache desde el puerto 80. ¿Cómo hago eso? Agregar las siguientes líneas a la conf no ayuda

Alias /lib /path/to/lib

<Directory "/path/to/lib">
    AllowOverride None
    Options None
    Order allow,deny
    Allow from all
</Directory>
punkish
fuente

Respuestas:

18

Puede evitar el proxy para una ubicación específica si le dice mod_proxyque lo ignore con !un destino:

ProxyPass        /lib !
ProxyPass        / http://127.0.0.1:5012/
ProxyPassReverse / http://127.0.0.1:5012/
Shane Madden
fuente
¡increíble! fue así de fácil! Lo intenté NoProxyy fue ProxyMatch with various regexpsen vano. Gracias.
punkish