servir toutes les demandes via un proxy * sauf * une requête spécifique


11

J'ai ce qui suit dans mon 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>

Cela fonctionne bien car toutes les demandes de http://foo.org sont servies à partir du port 5012 à l'aide d'un serveur Web différent. Cependant, je veux servir uniquement http://foo.org/lib via Apache à partir du port 80. Comment dois-je procéder? L'ajout des lignes suivantes à la conf n'aide pas

Alias /lib /path/to/lib

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

Réponses:


18

Vous pouvez éviter le proxy pour un emplacement spécifique en disant mod_proxyde l'ignorer avec un !pour une destination:

ProxyPass        /lib !
ProxyPass        / http://127.0.0.1:5012/
ProxyPassReverse / http://127.0.0.1:5012/

impressionnant! c'était aussi simple que ça! J'ai essayé NoProxyet ProxyMatch with various regexpsen vain. Merci.
punkish
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.