В AWS добавлен лямбда-край. Теперь вы можете указать домен (имя хоста s3, который вы используете) для облачного фронта, настроить корзину s3 в качестве бэкэнда и прикрепить функцию лямбда-края к облачному фронту.
Выберите событие запроса средства просмотра для запуска лямбда-функции. Приведенный ниже код nodejs в лямбде преобразует все запросы, полученные облачным фронтом, в нижний регистр и передает его в бэкэнд-контейнер s3. Приведенный ниже код работал для меня.
exports.handler = (event, context, callback) => {
// TODO implement
const request = event.Records[0].cf.request;
console.log (request)
request.uri = request.uri.toLowerCase()
console.log (request.uri)
callback(null, request)
};
Рабочий процесс подобен приведенному ниже.
Запрос (URI смешанного регистра) -> Cloudfront -> (Лямбда-функция, которая изменит URI в нижний регистр) -> s3 (URI будет в нижнем регистре после запросаполучил)