Bạn có thể sử dụng Redirect và Proxypass cùng một lúc không


16

Tôi đang sử dụng Apache 2.2.15 trên CentOS để cung cấp SSL cho ứng dụng TomCat.

ProxyPass / http://127.0.0.1:8090/ connectiontimeout=300 timeout=300
ProxyPassReverse / http://127.0.0.1:8090

Điều này hoạt động tốt và mọi thứ đều tuyệt vời; tuy nhiên, tôi muốn thêm dòng sau:

Redirect permanent /broken/page.html https://www.servername.com/correct/page.html

trước đây để xử lý lỗi trong chính ứng dụng TomCat. Tuy nhiên, nó dường như không hoạt động theo cách tôi mong đợi (nghĩa là nó dường như không làm gì và không thay đổi gì). Có thể sử dụng Redirect theo cách này? Thật không may, tôi không có khả năng chỉnh sửa ứng dụng.

Câu trả lời:


23

Đúng! Trên ProxyPass /, thêm:

ProxyPass /broken/page.html !

Điều đó sẽ buộc proxypass không hành động trên trang mà bạn đang cố chuyển hướng.


Cảm ơn bạn! Tôi đã tự hỏi nếu tôi phải làm một cái gì đó như thế, nhưng tôi nghĩ rằng có nó đến trước có thể là đủ. Hoạt động tuyệt vời!
xe bom


9

<Proxy>các khối cũng hữu ích vì bối cảnh luôn được hiểu là áp dụng cho lưu lượng truy cập. Theo cách này, bạn không cần loại trừ các đường dẫn cụ thể.

<Proxy *>
    Redirect permanent /broken/page.html https://www.example.com/correct/page.html
    RedirectMatch ^/deadstuff.+ http://www.example.com/correct/page.html
</Proxy>

ProxyPass / http://127.0.0.1:8090/ connectiontimeout=300 timeout=300
ProxyPassReverse / http://127.0.0.1:8090
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.