Чтобы проверить, что мне нужно включить CORS в моем API-шлюзе для Lambda Proxy, я удалил определение cors:true
в моем serverless.yml.
Затем, когда я кладу его обратно, я получаю следующую ошибку:
Вы можете использовать только «происхождение» или «происхождение», но не оба одновременно для настройки CORS. Пожалуйста, проверьте документы для получения дополнительной информации.
Я не могу найти в документах ничего, что объясняло бы, почему мой код выдает эту ошибку.
Я знаю, что однострочная версия является синонимом многострочной версии, например:
cors:
origins:
- '*'
headers:
- Content-Type
- X-Amz-Date
- Authorization
- X-Api-Key
- X-Amz-Security-Token
allowCredentials: false
согласно: https://serverless.com/framework/docs/providers/aws/events/apigateway/#enabling-cors
Возможно, он кеширует конфигурацию, и теперь он думает, что я объявил его дважды, один раз как «источник», а другой как «источник».
Я не понимаю, почему я получил бы эту ошибку, если бы просто переключил линию `cors: true 'между развертываниями, как я сделал.
Это из моего serverless.yml:
functions:
submitApi:
handler: handler.submit
description: Cloud API integration to the Third-Party API
events:
- http:
path: thirdParty
method: post
cors: true
Обновление :
Эта проблема, похоже, является ошибкой, отслеживаемой в проекте без сервера, который можно найти здесь: https://github.com/serverless/serverless/issues/6098