Я импортирую файл Swagger в созданное Terraform развертывание AWS API Gateway, и, кажется, все работает нормально, кроме включения CORS.После завершения развертывания я всегда получаю сообщение об ошибке 403 CORS с любой конечной точки.Я должен вручную пройти через CORS включения в консоли AWS.
Я импортирую файл swagger через интерфейс командной строки AWS следующим образом:
aws apigateway put-rest-api \
--body file://swagger.json \
--mode overwrite \
--rest-api-id ${REST_API_ID}
Файл swagger использует нижеприведенное изображение для сопоставления правильных заголовков;
"x-amazon-apigateway-integration": {
"responses": {
"2\\d{2}": {
"statusCode": "200",
"responseParameters": {
"method.response.header.Access-Control-Allow-Headers" : "'Content-Type,X-Amz-Date,Authorization,X-Api-Key,X-Amz-Security-Token,X-Correlation-ID'",
"method.response.header.Access-Control-Allow-Methods" : "'*'",
"method.response.header.Access-Control-Allow-Origin": "'*'"
}
}
}
}
Это сопоставляетна коды ответов в файле Swagger верхнего уровня;
"responses": {
"200": {
"description": "Succesfully created Report",
"headers": {
"Access-Control-Allow-Origin": {
"type": "string"
},
"Access-Control-Allow-Headers": {
"type": "string"
},
"Access-Control-Allow-Methods": {
"type": "string"
}
}
}
}
Несмотря на это, я все еще получаю ошибки CORS сразу после импорта файла Swagger.
Есть ли что-то, что я здесь упускаю?