Mam instancję AWS Lambda, która łączy się z określoną bramą interfejsu API AWS. Jeśli włączę CORS i podam access-control-allow-origin
definicję http://example.com
, wówczas będę mógł uzyskać dostęp do instancji Lambda z http://example.com
. Jeśli jednak używam https://example.com
, to nie działa.AWS API Gateway - CORS "access-control-allow-origin" - wiele wpisów
W AWS, jak zdefiniować za pomocą wielu wartości access-control-allow-origin
bez użycia symbolu wieloznacznego? Próbowałem użyć czegoś takiego jak *.example.com
, ale to nie działa.
EDYCJA: Jeśli użyję '*'
jako mojej wartości na bramie API, ale ustawię zasady CORS na moim wiadrze S3, czy to będzie bezpieczne? Przykład reguł dla kubełków:
<?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>
Ten sam numer tutaj. Moja sytuacja jest taka, że muszę użyć opcji withCredentials(), więc żadna z symboli wieloznacznych nie jest dozwolona. Być może będę musiał sam sobie poradzić z nagłówkami cors, zamiast pozwolić, by apigw sobie z tym poradził. To jest tak dziwne, że zapewniają zasady CORS dla s3, ale nie dla apigacji. – Taichi