Cloudflare, как установить объект по умолчанию при использовании S3 backend? - PullRequest
0 голосов
/ 09 октября 2018

Я пытаюсь использовать комбинацию CloudFlare и сервиса AWS S3 для размещения статического веб-сайта.Моя проблема в том, что у меня есть файл «index.html» и я перехожу к URL-адресу S3:

http://srdan.nz.s3-website-ap-southeast-2.amazonaws.com

загружает файл «index.html» (обратите внимание, нет упоминания о «index.html»в URL).

Однако, если я перейду к URL настраиваемого домена:

http://srdan.nz

Возвращает S3 XML-список содержимого корзины:

<ListBucketResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/"><Name>srdan.nz</Name><Prefix></Prefix><Marker></Marker><MaxKeys>1000</MaxKeys><IsTruncated>false</IsTruncated><Contents><Key>index.html</Key><LastModified>2018-10-09T01:10:39.000Z</LastModified><ETag>&quot;f51109004d6b0518fad4c2f69d950a45&quot;</ETag><Size>133</Size><StorageClass>STANDARD</StorageClass></Contents></ListBucketResult>

вместо содержимого "index.html".

Кто-нибудь знает, почему это так?Как настроить Cloudflare / S3, чтобы сделать файл «index.html» «по умолчанию», чтобы он возвращался, если кто-то просто вводит URL?

У меня есть обходной путь, где я добавляю пользовательское «правило страницы»"to Cloudflare для перенаправления" http://srdan.nz/" в "http://srdan.nz/index.html", однако, я бы настоятельно предпочел, чтобы он просто возвращал содержимое" index.html "напрямую.

1 Ответ

0 голосов
/ 16 ноября 2018

Ответ на этот вопрос таков, как @Michael упоминал в комментариях к вопросу, но я подумал, что это заслуживает рецензии ...

Возьмите пример домена mybucket.com, который мыя хотел бы использовать для доставки содержимого нашего сегмента s3 через Cloudflare.

Хотя следующий URL действителен только для доступа к содержимому сегмента S3 mybucket.com.s3.amazonaws.com, это бесполезнодля ссылки в нашей DNS-записи Cloudflare CNAME.

Я думаю, что одной из основных проблем является то, что в документации Cloudflare не отображается правильная статическая конечная точка веб-сайта какуказано в AWS S3 документации для обслуживания статического веб-сайта с s3.

Вы можете обнаружить, что если вы используете неверную конечную точку в вашем Cloudflare DNS, ваш домен вернет что-то вроде следующегоответ в корневом каталоге вместо документа по умолчанию в качестве настроек в настройках корзины:

xml response

ОТВЕТ: Используйте статический веб-сайтКонечная точка

Убедитесь, что настроенная запись CNAME использует эквивалентную конечную точку -website-:

mybucket.com.s3-website-us-west-2.amazonaws.com

Правильный формат <BUCKET NAME>.s3-website-<AWS REGION>.amazonaws.com, но его можно найти в настройках вашего контейнера s3:

s3 properties showing static hosting url

Не используйте другие, неправильные включают

mybucket.com.s3.amazonaws.com

mybucket.com.s3-us-west-2.amazonaws.com

Примечание: вам нужно установить SSL в Cloudflare на «Гибкий», потому что «Полный» и «Полный (строгий)» не работают.

...