У меня есть экземпляр AWS Lambda, который подключается к определенному AWS API Gateway. Если я включу CORS и даю access-control-allow-origin
определение http://example.com
, то я могу получить доступ к экземпляру Lambda от http://example.com
. Однако, если я использую https://example.com
, он не работает.AWS API Gateway - CORS «access-control-allow-origin» - несколько записей
Значит, в AWS, как я могу определить использование нескольких значений access-control-allow-origin
без использования подстановочного знака? Я пробовал использовать что-то вроде *.example.com
, но это не работает.
EDIT: Если я использую '*'
в качестве моего значения на шлюзе API, но устанавливаю правила CORS на своем ведро S3, это было бы безопасно? Пример для правил ковша:
<?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, но не для apigatway. – Taichi