melayani semua permintaan melalui proxy * kecuali * yang spesifik

11

Saya memiliki yang berikut di httpd.conf saya

<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>

Ini berfungsi dengan baik karena semua permintaan untuk http://foo.org dilayani dari port 5012 menggunakan server web yang berbeda. Namun, saya hanya ingin melayani http://foo.org/lib via Apache dari port 80. Bagaimana saya melakukannya? Menambahkan baris berikut ke conf tidak membantu

Alias /lib /path/to/lib

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

Jawaban:

18

Anda dapat menghindari proksi untuk lokasi tertentu dengan mengatakan mod_proxyuntuk mengabaikannya dengan !untuk tujuan:

ProxyPass        /lib !
ProxyPass        / http://127.0.0.1:5012/
ProxyPassReverse / http://127.0.0.1:5012/
Shane Madden
sumber
luar biasa! semudah itu! Saya mencoba NoProxydan ProxyMatch with various regexpstidak berhasil. Terima kasih.
punkish