ฉันมีประสบการณ์ในการส่งต่อคำขอระหว่าง webapps ที่แยกกันโดยอัปเดต META-INF/context.xml ของ webapp แต่ละรายการให้มี crossContext="true"
อย่างไรก็ตาม ฉันมีสถานการณ์ในขณะนี้ที่มีการปรับใช้ webapps ภายใน Tomcat ที่ทำงานอยู่เดียวกัน แต่อยู่ในพื้นที่ที่แยกจากกันโดยสิ้นเชิง หากต้องการอธิบายอย่างละเอียดใน server.xml ของ Tomcat:
- app1 ใช้บริการชื่อ "app1Svc" พร้อมด้วยตัวเชื่อมต่อของตัวเอง (เพื่อให้ทำงานบนพอร์ตที่แยกจากกัน) ดังนั้น Engine, Realm และ Host ของตัวเอง
- app2 มีการตั้งค่าที่คล้ายกัน โดยมีบริการแยกชื่อ "app2Svc" พร้อมตัวเชื่อมต่อของตัวเอง ฯลฯ
หากฉันเรียกใช้ webapps เหล่านี้ภายในโฮสต์เดียวกัน ฉันสามารถส่งคำขอระหว่างทั้งสองผ่านทาง crossContext="true" ของ context.xml และรับบริบทเซิร์ฟเล็ตที่เกี่ยวข้องเพื่อส่งต่อคำขอไปยัง (ตาม Tomcat ไม่สามารถรับ ServletContext ของ webapp อื่นได้)
อย่างไรก็ตาม เป็นไปได้ไหมที่จะส่งระหว่างสอง webapps ที่ต้องทำงานบนพอร์ตแยกกัน (โดยไม่ต้องใส่ httpd หรือบางอย่างไว้หน้า tomcat)