정의 된 AWS API 게이트웨이에 연결하는 AWS 람다 인스턴스가 있습니다. CORS를 활성화하고 access-control-allow-origin
에 http://example.com
의 정의를 부여하면 http://example.com
에서 람다 인스턴스에 액세스 할 수 있습니다. 그러나 https://example.com
을 사용하면 작동하지 않습니다.AWS API 게이트웨이 - CORS "access-control-allow-origin"- 복수 항목
AWS에서 와일드 카드를 사용하지 않고 access-control-allow-origin
값을 여러 개 사용하여 어떻게 정의 할 수 있습니까? 나는 *.example.com
과 같은 것을 사용하려고 시도했으나 작동하지 않습니다.
EDIT : API 게이트웨이에서 내 값으로 '*'
을 사용하지만 내 S3 버킷에 CORS 규칙을 설정하면 안전할까요? 버킷 규칙의 예 :
<?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>
여기에서 같은 문제가 발생합니다. 내 상황은 withCredentials() 옵션을 사용하여 와일드 카드를 사용할 수 없도록해야한다는 것입니다. 나는 apigw가 처리하는 대신에 cors 헤더를 직접 처리해야 할 수도있다. 너무 이상해서 s3에 CORS 규칙을 제공하지만 apigatway에는 적용하지 않습니다. – Taichi