phục vụ tất cả các yêu cầu qua proxy * ngoại trừ * một yêu cầu cụ thể


11

Tôi có những điều sau đây trong httpd.conf của tôi

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

Điều này hoạt động tốt khi tất cả các yêu cầu cho http://foo.org được phục vụ từ cổng 5012 bằng một máy chủ web khác. Tuy nhiên, tôi muốn chỉ phục vụ http://foo.org/lib qua Apache từ cổng 80. Làm cách nào để làm điều đó? Thêm các dòng sau vào conf không giúp

Alias /lib /path/to/lib

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

Câu trả lời:


18

Bạn có thể tránh việc ủy ​​quyền cho một vị trí cụ thể bằng cách yêu mod_proxycầu bỏ qua vị trí đó với !điểm đến:

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

tuyệt vời! thật dễ dàng Tôi đã cố gắng NoProxyProxyMatch with various regexpsvô ích. Cảm ơn.
punkish
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.