พิจารณาเซิร์ฟเวอร์แบ็กเอนด์สองแห่ง:
https://server1.example.com
https://server2.example.com
เมื่อเข้าถึงเซิร์ฟเวอร์เหล่านี้โดยตรงเซิร์ฟเวอร์จะมีความเป็นอิสระ localStorage วัตถุตั้งแต่ต้นกำเนิดของพวกเขาแตกต่างกัน ในกรณีนี้ชื่อโฮสต์ต่างกัน
เมื่อฉันวางเซิร์ฟเวอร์เหล่านี้ไว้ข้างหลังพร็อกซีย้อนกลับจะถูกเข้าถึงดังต่อไปนี้:
https://proxy.example.com/server1
https://proxy.example.com/server2
เพื่อให้ภาพซับซ้อนขึ้นเล็กน้อยฉันมีหน้าส่วนหน้าบน
proxy:https://proxy.example.comหน้านี้แสดงรายการเซิร์ฟเวอร์เป็นฮอตลิงค์โดยใช้ HTML คล้ายกับ:
<a href="https://proxy.example.com/server1/" target="_blank">Server1</a> <a href="https://proxy.example.com/server2/" target="_blank">Server2</a>
ตอนนี้แต่ละเซิร์ฟเวอร์ proxy, server1 และ server2 ทั้งหมดผ่านไป same-origin ทดสอบเนื่องจากพวกเขาแต่ละคนมี origin=https://proxy.example.com:443. ดังนั้น localStorage วัตถุถูกแชร์ในหมู่พวกเขาและการแบ่งปันนี้ทำให้แอปพลิเคชันสับสน server1 และ server2.
มีวิธีปิดการแชร์หรือไม่ localStorage ระหว่าง proxy, server1และ server2 ในการกำหนดค่านี้หรือไม่?
หากไม่มีมีวิธีการใน Javascript ที่จะปิดการใช้งานการแชร์ระหว่างเอนทิตีเหล่านี้หรือไม่
localStorageคีย์ด้วยคำสั่ง reverse-proxy replace ดังนั้นตอนนี้คีย์จึงใช้เฉพาะเซิร์ฟเวอร์ เช่น. กุญแจที่เรียกว่าfooถูกแทนที่โดย reverse-proxy ที่จะกลายเป็นserver1_fooและserver2_foo. ปัญหานี้ได้รับการแก้ไข