Отсутствуют ссылки в приложении Express на этапе API Gateway с Claudia JS
Я развернул очень простое приложение Express через Claudia JS. Он работает довольно хорошо, но любые ссылки или перенаправления не поддерживают API Gateway и поэтому не работают.
Например, я развернул приложение по адресу http://example.execute-api.eu-west-2.amazonaws.com/production - это эквивалентно http://localhost:3000/ при локальном запуске. Если на этой странице есть ссылка, аналогичная <a href="/test">
он переходит на http://localhost:3000/test локально, но через шлюз API он переходит на http://example.execute-api.eu-west-2.amazonaws.com/test - теряет часть / production URL и, следовательно, не работает.
Есть ли способ, чтобы Express узнал, что все маршруты должны начинаться с / production?
Альтернативное решение состоит в том, чтобы использовать пользовательский домен, но это кажется большой проблемой, чтобы решить то, что, кажется, должно быть только небольшим количеством конфигурации.
1 ответ
Вы можете использовать что-то вроде этого для создания базового URL;
https://${req.apiGateway.event.headers.Host}/${req.apiGateway.event.requestContext.stage}