ให้บริการคำขอทั้งหมดผ่านพร็อกซี * ยกเว้น * คำขอเฉพาะ


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 ฉันจะทำอย่างไร การเพิ่มบรรทัดต่อไปนี้ใน conf ไม่ช่วยได้

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ไม่มีประโยชน์ ขอบคุณ
Punkish
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.