Bu sorunun başka bir temel nedeni, HTTP / 1.1 ve HTTP / 2 arasındaki bir fark olabilir.
Belirti: Hepsi değil, bazı kullanıcılar Yazılımımızı kullanırken bir CORS hatası aldıklarını bildirdi.
Sorun:Access-Control-Allow-Origin
başlığı eksikti bazen .
Bağlam: İstekleri işleme OPTIONS
ve Access-Control-Allow-Origin
beyaz listedeki bir listeyi eşleştirme gibi karşılık gelen CORS başlıklarıyla yanıtlamaya adanmış bir Lambda'mız vardı Origin
.
Çözüm: API Ağ Geçidi, tüm üstbilgileri HTTP / 2 çağrıları için küçük harfe dönüştürüyor gibi görünüyor, ancak HTTP / 1.1 için büyük harf kullanımını koruyor. Bu, erişimin event.headers.origin
başarısız olmasına neden oldu .
Bu sorunu da yaşayıp yaşamadığınızı kontrol edin:
API'nizin konumunda olduğunu https://api.example.com
ve ön ucunuzun konumunda olduğunu varsayarsak https://www.example.com
. CURL kullanarak, HTTP / 2 kullanarak bir istekte bulunun:
curl -v -X OPTIONS -H 'Origin: https://www.example.com' https:
Yanıt çıktısı başlığı içermelidir:
< Access-Control-Allow-Origin: https://www.example.com
HTTP / 1.1 (veya küçük harfli bir Origin
başlık ile) kullanarak aynı adımı tekrarlayın :
curl -v -X OPTIONS --http1.1 -H 'Origin: https://www.example.com' https:
Eğer Access-Control-Allow-Origin
başlık eksik, okumakta küçük harf duyarlılığı kontrol etmek isteyebilirsiniz Origin
başlığı.
Bucket Policy
? Politikanızda yöntemin bulunduğundan emin olun