Alle Anfragen über einen Proxy * mit Ausnahme * eines bestimmten Proxys bearbeiten

11

Ich habe Folgendes in meiner 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>

Dies funktioniert gut, da alle Anfragen für http://foo.org von Port 5012 über einen anderen Webserver bearbeitet werden. Ich möchte jedoch nur http://foo.org/lib über Apache von Port 80 aus bedienen . Wie mache ich das? Das Hinzufügen der folgenden Zeilen zur conf hilft nicht

Alias /lib /path/to/lib

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

Antworten:

18

Sie können das Proxying für einen bestimmten Standort vermeiden, indem Sie mod_proxyihn mit einem !für ein Ziel ignorieren :

ProxyPass        /lib !
ProxyPass        / http://127.0.0.1:5012/
ProxyPassReverse / http://127.0.0.1:5012/
Shane Madden
quelle
genial! es war so einfach! Ich versuchte es NoProxyund ProxyMatch with various regexpsohne Erfolg. Vielen Dank.
Punkish