ฉันมีการแจกจ่าย CloudFront ที่มีลักษณะการทำงานเริ่มต้นซึ่งได้รับการกำหนดค่าให้อนุญาตคำขอ CORS ใด ๆ รวมถึงคำขอล่วงหน้า อย่างไรก็ตาม คำขอ OPTIONS จะล้มเหลวโดยมีข้อผิดพลาด HTTP 403 (รายละเอียดด้านล่าง) ซึ่งไม่ใช่สิ่งที่ฉันคาดไว้
ฉันใช้การจัดการโดย AWS CORS-ด้วย-Preflight นโยบายที่ควรอนุญาตคำขอ CORS ทั้งหมด รวมถึงคำขอ preflight (OPTIONS):
(ฉันไม่แน่ใจว่าเหตุใดพื้นที่ “นโยบายคำขอต้นทาง” จึงเน้นเป็นสีเหลือง)
รายละเอียดนโยบาย:
ฉันอนุญาตคำขอ OPTIONS ในพฤติกรรม:
อย่างไรก็ตาม เมื่อฉันส่งคำขอตัวเลือก CloudFront จะส่งคืนข้อผิดพลาดนี้:
$ curl --request OPTIONS --url https://d3qj3h7hjzomrd.cloudfront.net/ --header 'Origin: https://www.example.com'
<?xml version="1.0" encoding="UTF-8"?>
<ข้อผิดพลาด>
<Code>AccessForbidden</Code>
<ข้อความ>CORSResponse: คำขอ CORS นี้ไม่ได้รับอนุญาต นี่เป็นเพราะการประเมินของ Origin, วิธีการร้องขอ / Access-Control-Request-Method หรือ Access-Control-Request-Headers ไม่อยู่ในรายการที่อนุญาตพิเศษตามข้อมูลจำเพาะ CORS ของทรัพยากร</Message>
<วิธี>ตัวเลือก</วิธี>
<ResourceType>OBJECT</ResourceType>
<RequestId>WH3SHHNDMJR03FWJ</RequestId>
<HostId>4mr77QbpdUeaN/GZvaFiwX5urzZbo7VoW2IiG3Ziq1HikqcPoTZKZZRmibuNf4590YlCf46Wu6s=</HostId>
</ข้อผิดพลาด>
(ฉันได้จัดรูปแบบ XML เพื่อให้อ่านง่ายขึ้น)
ฉันต้องเปลี่ยนแปลงอะไรบ้างจึงจะอนุญาตคำขอ OPTIONS ได้