Tôi có bản phân phối CloudFront với hành vi mặc định được định cấu hình để cho phép mọi yêu cầu CORS bao gồm cả yêu cầu chiếu trước. Tuy nhiên, yêu cầu TÙY CHỌN sẽ không thành công với lỗi HTTP 403 (chi tiết bên dưới), đây không phải là điều tôi mong đợi.
Tôi đang sử dụng dịch vụ do AWS quản lý CORS-With-Preflight chính sách sẽ cho phép tất cả các yêu cầu CORS, bao gồm cả yêu cầu preflight (TÙY CHỌN):
(Tôi không chắc tại sao khu vực Origin request policy lại được đánh dấu bằng màu vàng.)
Chi tiết chính sách:
Tôi đã cho phép các yêu cầu TÙY CHỌN trong Hành vi:
Tuy nhiên, khi tôi gửi yêu cầu tùy chọn, CloudFront sẽ trả về lỗi này:
$ curl --request TÙY CHỌN --url https://d3qj3h7hjzomrd.cloudfront.net/ --header 'Xuất xứ: https://www.example.com'
<?xml version="1.0" encoding="UTF-8"?>
<Lỗi>
<Code>Cấm truy cập</Code>
<Message>CORSResponse: Yêu cầu CORS này không được phép. Điều này thường là do đánh giá Nguồn gốc, phương thức yêu cầu / Access-Control-Request-Method hoặc Access-Control-Request-Headers không được thông số CORS của tài nguyên đưa vào danh sách cho phép.</Message>
<Method>TÙY CHỌN</Method>
<ResourceType>ĐỐI TƯỢNG</ResourceType>
<RequestId>WH3SHHNDMJR03FWJ</RequestId>
<HostId>4mr77QbpdUeaN/GZvaFiwX5urzZbo7VoW2IiG3Ziq1HikqcPoTZKZZRmibuNf4590YlCf46Wu6s=</HostId>
</Lỗi>
(Tôi đã định dạng XML để dễ đọc hơn.)
Tôi cần thay đổi điều gì để cho phép các yêu cầu TÙY CHỌN?