обслуговувати всі запити через проксі *, крім * конкретного


11

У своєму 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>

Це добре працює, оскільки всі запити http://foo.org отримують з порту 5012 за допомогою іншого веб-сервера. Однак, я хочу обслуговувати тільки http://foo.org/lib через Apache з порту 80. Як це зробити? Додавання наступних рядків до конф не допоможе

Alias /lib /path/to/lib

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

Відповіді:


18

Ви можете уникнути доступу до певного місця, сказавши mod_proxyпроігнорувати його з !пунктом призначення:

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

приголомшливий! це було так просто! Я намагався NoProxyі ProxyMatch with various regexpsбезрезультатно. Дякую.
каральний
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.