Tanımlanmış bir AWS API Ağ Geçidine bağlanan bir AWS Lambda örneğim var. CORS'i etkinleştirir ve access-control-allow-origin
'u http://example.com
tanımına verirsek, http://example.com
'dan Lambda örneğine erişebilirim. Ancak, https://example.com
kullanırsam, işe yaramıyor.AWS API Ağ Geçidi - CORS "erişim-izin-izin-kaynağı" - çoklu girişler
AWS'de joker kullanmadan birden çok access-control-allow-origin
değerlerini kullanarak nasıl tanımlayabilirim? *.example.com
gibi bir şey kullanmayı denedim, ancak bu işe yaramıyor.
DÜZENLEME: '*'
API ağ geçidindeki değerinim olarak kullanıyorum, ancak S3 grubumdaki CORS kurallarını ayarlarsam, bu güvenli olur mu? Kepçe kuralları için örnek:
<?xml version="1.0" encoding="UTF-8"?>
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<CORSRule>
<AllowedOrigin>http://example.com</AllowedOrigin>
<AllowedMethod>GET</AllowedMethod>
<AllowedMethod>POST</AllowedMethod>
<AllowedMethod>PUT</AllowedMethod>
<MaxAgeSeconds>3000</MaxAgeSeconds>
<AllowedHeader>*</AllowedHeader>
</CORSRule>
<CORSRule>
<AllowedOrigin>https://example.com</AllowedOrigin>
<AllowedMethod>GET</AllowedMethod>
<AllowedMethod>POST</AllowedMethod>
<AllowedMethod>PUT</AllowedMethod>
<MaxAgeSeconds>3000</MaxAgeSeconds>
<AllowedHeader>*</AllowedHeader>
</CORSRule>
<CORSRule>
<AllowedOrigin>https://www.example.com</AllowedOrigin>
<AllowedMethod>GET</AllowedMethod>
<AllowedMethod>POST</AllowedMethod>
<AllowedMethod>PUT</AllowedMethod>
<MaxAgeSeconds>3000</MaxAgeSeconds>
<AllowedHeader>*</AllowedHeader>
</CORSRule>
</CORSConfiguration>
Aynı sorun burada. Durumumda, withCredentials() seçeneğini kullanmam gerektiğinden, joker karaktere izin verilmemesi. Apigw'un ele geçirmesine izin vermek yerine koç başlıklarını kendim halletmem gerekebilir. S3 için CORS kurallarını sağladıkları için çok aptalcalar. – Taichi