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.