Проблема перенаправления подпапок со статическим хостингом сайтов с использованием S3, CloudFront и Origin Path
У меня возникают некоторые трудности при настройке статического хостинга сайтов с использованием Amazon S3 и Cloudfront.
У нас есть много веб-сайтов, которые мы хотели бы использовать в качестве статических веб-сайтов с помощью Amazon S3 + Cloudfront, и мы бы предпочли разместить их все в одном сегменте S3.
Первоначальная настройка довольно проста, но у нас возникают проблемы с перенаправлениями подпапок, если пропустить косую черту в URL.
Например, настройка одного веб-сайта из корзины:
содержимое корзины для website1:
s3: //bucket-name/websites/website1/index.html
s3: //bucket-name/websites/website1/about/index.html
Я включил статический хостинг веб-сайтов для этого сегмента с установленным по умолчанию документом index.html.
Я создал веб-дистрибутив Cloudfront для обслуживания этого отдельного веб-сайта, корневой объект по умолчанию установлен на index.html.
В дистрибутиве есть пользовательское происхождение, указывающее на статический URL-адрес веб-сайта 'bucket-name.s3-website-us-east-1.amazonaws.com' с исходным путем, установленным в '/ sites / website1'
При переходе по URL-адресу рассылкиhttp://example.cloudfront.netон корректно обслуживает документ index.html из s3: //bucket-name/websites/website1/index.html.
При переходе к 'http://example.cloudfront.net/about/он также правильно обслуживает документ index.html из s3: //bucket-name/websites/website1/about/index.html.
Но, если я опущу косую черту какhttp://example.cloudfront.net/about«S3 перенаправляет меня на»http://example.cloudfront.net/websites/website1/about/', так как путь к исходному файлу для меня установлен в' / sites / website1 ', Cloudfront будет запрашивать index.html из' s3: //bucket-name/websites/website1/about/websites/website1/about/index.html ', который не существовать.
Я что-то здесь упускаю? Это невозможная установка с использованием только Cloudfront и S3?