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>

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/

luar biasa! semudah itu! Saya mencoba NoProxydan ProxyMatch with various regexpstidak berhasil. Terima kasih.
punkish
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.