Я создал ресурс APIGateway с помощью метода Lambda Proxy POST
и метод OPTIONS
для заголовков CORS.AWS APIGateway CORS для прокси-сервера Lambda не применяется
Метод OPTIONS
возвращает эти заголовки:
$ curl -i -X OPTIONS https://xxxxxxxxx.execute-api.eu-central-1.amazonaws.com/dev/endpoint1
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 0
Connection: keep-alive
Date: Sat, 18 Feb 2017 17:07:17 GMT
x-amzn-RequestId: xxxx
Access-Control-Allow-Origin: *
Access-Control-Allow-Headers: Content-Type,X-Amz-Date,Authorization,X-Api-Key,X-Amz-Security-Token
Access-Control-Allow-Methods: POST,OPTIONS
X-Cache: Miss from cloudfront
Via: 1.1 xxxx.cloudfront.net (CloudFront)
X-Amz-Cf-Id: xxxx==
Но когда я называю POST
конечную точку с генерируемой Javascript SDK, консоль браузера Chrome показывает эту ошибку:
XMLHttpRequest cannot load https://xxxx.execute-api.eu-central-1.amazonaws.com/dev/endpoint1.
No 'Access-Control-Allow-Origin' header is present on the requested resource.
Origin 'http://localhost:8080' is therefore not allowed access.
, а также Firefox :
Cross-Origin Request Blocked:
The Same Origin Policy disallows reading the remote resource at https://xxxx.execute-api.eu-central-1.amazonaws.com/dev/endpoint1.
(Reason: CORS header ‘Access-Control-Allow-Origin’ missing).
Почему m y Заголовок CORS не учитывается? Требуются ли дополнительные изменения настроек метода POST?
Вы не можете ожидать, CORS работать с «локальный», предположительно потому, что это подделка, и ваш браузер знает. Проверьте свой сайт с помощью 'http: // lvh.me' или' http: // www.127.0.0.1.xip.io'. Это псевдонимы для localhost, но ваш браузер этого не знает. –