Вызов лямбды через API-шлюз, выдающий 403 ответа? - PullRequest
0 голосов
/ 28 сентября 2018

Я использую AWS codestar для развертывания с помощью реагирующего приложения с использованием шаблона serverjs nodejs.Это URL, который выдается Codestar после успешного завершения всех этапов https://xxxxx.execute-api.us-east-1.amazonaws.com/Prod.Этот URL отображал все компоненты в моем приложении правильно.В navbar моего приложения у меня есть такие элементы, как a, b, c.где нажатие на каждый из них будет перенаправлять на новый компонент (например, https://xxxxx.execute-api.us-east-1.amazonaws.com/a, https://xxxxx.execute-api.us-east-1.amazonaws.com/b и т. д.). Но когда я обновляю страницу с таким URL-адресом, как https://xxxxx.execute-api.us-east-1.amazonaws.com/b, я получаю сообщение об ошибке типа {"message":"Forbidden"}и в моей консоли это выглядит так: favicon.ico:1 GET https://xxxx.execute-api.us-east-1.amazonaws.com/favicon.ico 403

Кажется, что хром загружает значок, основанный на ссылке https, которая завершается ошибкой, поскольку в этом месте нет такого favicon.удалить favicon.ico link в index.html, но даже в этом случае Chrome использует тот же URL-адрес для извлечения значка, который в итоге не удается. Я следовал максимальному количеству предложений в SO, чтобы добиться этого, но не повезло. Есть ли способ сказать api-gateway чтобы исключить эти favicon get requests и отобразить мое приложение, а не показывать message forbidden.

И я совершенно уверен, что я включил журналы как для agi-gateway, так и для lambda, где я не нашел никаких запрещенных ошибок (ie403), что странно, потому что я вижу эти 403 ошибки в своей консоли.

Спасибо. Любая помощь очень ценится.

1 Ответ

0 голосов
/ 29 сентября 2018

URL-адрес https://xxxxx.execute-api.us-east-1.amazonaws.com/Prod, предоставляемый API-шлюзом, является базовым URL-адресом для вашего сайта, поэтому эти пути должны быть /Prod/a вместо /a.

Один из способов обойти этозарегистрируйте свой собственный домен и подключите его к API-шлюзу через пользовательский домен .Это позволит вам иметь https://example.com в качестве базового URL, и ваши пути могут остаться /a, /b и т. Д.

...