สิ่งแวดล้อม
เวอร์ชันเซิร์ฟเวอร์: Apache/2.4.6 (CentOS)
ฉันมีเซิร์ฟเวอร์สองเครื่องที่เกือบจะซ้ำกัน
aaa.com. และ bbb.com.
พวกเขามีชุดกฎของ Apache เกือบเหมือนกัน
aaa.com. การกำหนดค่า
<Location "/serviceEndpoint/">
ProxyPass http://localhost:8100/serviceEndpoint/
ProxyPassReverse http://localhost:8100/serviceEndpoint/
</Location>
<Location "/fruit/apple">
ProxyPass "/fruit/apple" "http://localhost:8100/serviceEndpoint/fruit/apple"
ProxyPassReverse "/fruit/apple" "http://localhost:8100/serviceEndpoint/fruit/apple"
</Location>
ดังนั้น /serviceEndpoint เป็นบริการที่ใช้พอร์ต 8100 และ /ผลไม้/แอปเปิ้ล เป็นเซิร์ฟเล็ตของมัน
bbb.com. การกำหนดค่า
<VirtualHost _default_:80>
ProxyPass "/serviceEndpoint/" "http://localhost:20100/serviceEndpoint/"
ProxyPassReverse "/serviceEndpoint/" "http://localhost:20100/serviceEndpoint/"
ProxyPass "/fruit/apple" "http://localhost:20100/serviceEndpoint/fruit/apple"
ProxyPassReverse "/fruit/apple" "http://localhost:20100/serviceEndpoint/fruit/apple"
</VirtualHost>
ดูเหมือนกัน แต่อยู่ใน VirtualHost:80 ถ้านั่นทำให้อะไรแตกต่างออกไป
(* แก้ไข ฉันทดสอบโดยใช้การกำหนดค่าเดียวกัน แต่ผลลัพธ์เหมือนกัน)
ปัญหา
ทั้งคู่ aaa.com/fruit/apple หรือ bbb.com/fruit/apple ทำได้ดี.
แต่เมื่อมีการใช้บริการ ตอบกลับ sendRedirect()(java) และเปลี่ยนเส้นทางเบราว์เซอร์ไปที่ /ผลไม้/แอปเปิ้ล,
เท่านั้น aaa.com. ทำงานและ bbb.com. พยายามเชื่อมต่อตัวอักษร http://localhost:20100/fruit/apple จากเบราว์เซอร์ไคลเอ็นต์
aaa.com ส่วนหัวการตอบสนองการเปลี่ยนเส้นทาง
HTTP/1.1 302
วันที่: จันทร์ 09 พฤษภาคม 2022 08:01:29 GMT
เซิร์ฟเวอร์: อาปาเช่
ตัวเลือก X-Frame: SAMEORIGIN
การรักษาความปลอดภัยอย่างเข้มงวดในการขนส่ง: max-age=63072000; รวมโดเมนย่อย
ตำแหน่ง: /fruit/#!/some_controller
ความยาวเนื้อหา: 0
ตั้งค่าคุกกี้: JSESSIONID=4EA61F0E6031621E540DBDC9F6C54D64; Path=/serviceEndpoint; httpOnly
ตั้งค่าคุกกี้: JSESSIONID=4EA61F0E6031621E540DBDC9F6C54D64; ปลอดภัย; httpOnly; SameSite=เข้มงวด
X-XSS-การป้องกัน: 1; โหมด = บล็อก
Keep-Alive: หมดเวลา = 15, สูงสุด = 95
การเชื่อมต่อ: Keep-Alive
bbb.com ส่วนหัวการตอบสนองการเปลี่ยนเส้นทาง
HTTP/1.1 302
วันที่: จันทร์ 09 พฤษภาคม 2022 08:01:29 GMT
เซิร์ฟเวอร์: Apache-Coyote/1.1
ตัวเลือก X-Frame: SAMEORIGIN
การรักษาความปลอดภัยอย่างเข้มงวดในการขนส่ง: max-age=63072000; รวมโดเมนย่อย
ที่ตั้ง: http://localhost:20100/fruit/#!/some_controller
ความยาวเนื้อหา: 0
ตั้งค่าคุกกี้: JSESSIONID=4EA61F0E6031621E540DBDC9F6C54D64; Path=/serviceEndpoint; httpOnly
ตั้งค่าคุกกี้: JSESSIONID=4EA61F0E6031621E540DBDC9F6C54D64; ปลอดภัย; httpOnly; SameSite=เข้มงวด
Keep-Alive: หมดเวลา = 15, สูงสุด = 95
การเชื่อมต่อ: Keep-Alive
คำถาม
จากการตั้งค่า Apache อะไรทำให้เกิดพฤติกรรมนี้และฉันควรแก้ไขอย่างไร