Ниже приведен запрос клиента.Запрос GET успешен, но запрос POST выдает ошибку.
fetch('api/public/libraries/sign-out-discourse', {
method: 'GET', // or 'POST'
headers: new Headers([
['Accept', 'application/json'],
['Content-Type', 'application/json'],
['Authorization', jwtToken],
]),
})
Вот ошибка из запроса POST:
HTTP/1.1 403 Forbidden
Server: CloudFront
Date: Fri, 05 Oct 2018 08:50:14 GMT
Content-Type: text/html
Content-Length: 694
Connection: keep-alive
X-Cache: Error from cloudfront
Via: redacted
X-Amz-Cf-Id: redacted
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
ERROR: The request could not be satisfied
403 ERROR
The request could not be satisfied.
This distribution is not configured to allow the HTTP request method that was used for this request. The distribution supports only cachable requests.
Generated by cloudfront (CloudFront)
Request ID: redacted
Что япробовал
В CloudFront я выбрал поведение -> редактировать -> Разрешенные методы HTTP: GET, HEAD, OPTIONS, PUT, POST, PATCH, DELETE.Я лишил законной силы кеши с тех пор, как использовал этот шанс в маловероятном случае, когда AWS каким-то образом сохранит настройки в кеше CloudFront.
В графическом интерфейсе API Gateway я включил CORS для ресурса.С момента внесения этого изменения я повторно развернул API.
Другая отладка
curl -X POST API_ENDPOINT возвращает ту же ошибку, что и вызов конечной точки с помощью POST из моего приложения.