Apache ProxyPass hoặc ProxyPassMatch để loại trừ một tệp khỏi proxy


8

Tôi có Virtualhost được đặt thành proxy tất cả các yêu cầu đến một máy chủ khác đang chạy trên cổng 9000.

Tôi có gì :

ProxyPass / http://localhost:9000/
ProxyPassReverse / http://localhost:9000/

Những gì tôi đã thử:

! ProxyPass /test.html http://localhost:9000/
ProxyPass /test.html ! http://localhost:9000/
ProxyPassMatch !^/(.*\.html)$ http://localhost:9000/$1 

Không ai trong số đó làm việc ...

Tôi muốn loại trừ một tệp hoặc một tập tin khỏi bị ủy quyền, tài liệu nói điều gì đó về "Lệnh! Rất hữu ích trong các trường hợp bạn không muốn ủy quyền ngược lại thư mục con.", Nhưng không có ví dụ nào cho tình huống đó

Câu trả lời:


13

Ok, đã tìm ra nó, hóa ra rằng - rõ ràng - không cần chỉ định proxy cho các đường dẫn bị loại trừ.

ProxyPass / somedir!

hoạt động tuyệt vời


Hừm. Điều này rất thú vị bởi vì nếu bạn đang sử dụng AJP để liên kết với Tomcat (để phục vụ nội dung JSP động), thì lệnh này có thể cho phép bạn, ví dụ, loại trừ thư mục "/ hình ảnh" trên máy chủ để Tomcat phục vụ hình ảnh thay vì Mèo mèo ???
djangofan

Vâng, nó làm. Tôi không chắc là tôi hiểu câu hỏi của bạn.
Andrei

2
Lưu ý rằng điều này phải đi trước các chỉ thị ProxyPass khác để có hiệu lực, vì trận đấu đầu tiên là trận đấu được áp dụng.
Ryan C. Thompson
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.