คุณสามารถใช้ Redirect และ Proxypass ได้ในเวลาเดียวกัน


16

ฉันใช้ Apache 2.2.15 บน CentOS เพื่อให้ SSL สำหรับแอปพลิเคชัน TomCat

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

มันใช้งานได้ดีและทุกอย่างยอดเยี่ยม อย่างไรก็ตามฉันต้องการเพิ่มบรรทัดต่อไปนี้:

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

ก่อนหน้าข้างต้นเพื่อจัดการข้อผิดพลาดในแอปพลิเคชัน TomCat อย่างไรก็ตามดูเหมือนว่าจะไม่ทำงานตามที่ฉันคาดหวัง เป็นไปได้ไหมที่จะใช้การเปลี่ยนเส้นทางด้วยวิธีนี้ ฉันไม่มีความสามารถในการแก้ไขแอปพลิเคชันโชคไม่ดี

คำตอบ:


23

ใช่ ด้านบนให้ProxyPass /เพิ่ม:

ProxyPass /broken/page.html !

นั่นจะบังคับให้พร็อกซีพาสไม่ทำงานบนหน้าที่คุณพยายามเปลี่ยนเส้นทาง


ขอขอบคุณ! ฉันสงสัยว่าถ้าฉันต้องทำอะไรแบบนั้น แต่ฉันคิดว่าการมีมันก่อนอาจจะเพียงพอ ใช้งานได้ดี!
Bombcar

2
อีกตัวอย่างหนึ่งใน stackoverflow: stackoverflow.com/questions/26595592/use-redirect-and-proxypass/…
Christopher Schultz

9

<Proxy>บล็อกยังมีประโยชน์เนื่องจากบริบทเป็นที่เข้าใจกันเสมอว่าจะใช้กับการรับส่งข้อมูลพร็อกซี ในแบบนี้คุณไม่จำเป็นต้องยกเว้นเส้นทางที่เฉพาะเจาะจง

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