2015-11-17 1 views
2

В моем ковре AWS S3 имеется так много файлов, содержащих пробелы между именем файла. Вот 3 из этих URL-адресов файлов, которые доступны.Как обрабатывать файлы, имеющие пробелы в Amazon CloudFront?

  1. s3-us-west-amazonaws.com/debesh.com/images/natural+scenery+with+mountain+and+cloud.jpg

  2. s3-нас-запад 2.amazonaws

  3. s3-us-west-2.amazonaws.com/debesh.com/images/natural + декорации + муравьиный + в + + + + + + + + + .jpg

Но недавно, когда Я реализовал дистрибутив CloudFront CDN, исходным сервером которого является вышеупомянутый ковш AWS S3.

Мои CloudFront доменное имя: d37uawng2qmzgo.cloudfront.net

Теперь, когда я пытаюсь получить доступ к этим изображениям, используя свое доменное имя CloudFront. Я получаю страницу с ошибкой.

Вот URL заменяется CloudFront Domain Name:

  1. d37uawng2qmzgo.cloudfront.net/images/natural+scenery+with+mountain+and+cloud.jpg

  2. d37uawng2qmzgo. cloudfront.net/images/natural+scenery+leaves+with+red+and+green+color.jpg

  3. d37uawng2qmzgo.cloudfront.net/images/natural+scenery+ant+in+the+middle+of+ + дорога + .jpg

Я понял, что проблема связана с пробелами между именем файла.

CloudFront CDN не распознает символ + (который является пространством) между именем файла.

Когда я конвертирую «+» в «% 20», он правильно отображает изображения.

  1. d37uawng2qmzgo.cloudfront.net/images/natural%20scenery%20with%20mountain%20and%20cloud.jpg

  2. d37uawng2qmzgo.cloudfront.net/images/natural%20scenery%20leaves%20with%20red % 20and% 20green% 20color.jpg

  3. d37uawng2qmzgo.cloudfront.net/images/natural%20scenery%20ant%20in%20the%20middle%20of%20the%20road%20.jpg

Но проблема в том, что у меня так много файлов, как эти 3 файла в моем AWS S3 Bucket, и я не в состоянии изменить знак + на знак% 20.

Может ли кто-нибудь предложить мне способ, которым я мог бы обрабатывать эти промежутки между этими файлами?

Или AWS CloudFront предоставляет любые инструменты для обработки этого типа проблем с именами файлов?

+1

У вас устали кодировать URL-адрес? Я думаю, что пространство преобразуется в% 20 при кодировании (не уверен, что это поможет в вашей ситуации) –

+0

Это интересно, и я могу частично воспроизвести поведение. Разве CloudFront настроен на использование этого ведра в качестве источника «S3» или «Custom»? –

ответ

1

Я заметил, что CloudFront обрабатывает + в URL-адресе. Так что если вы до сих пор распределение живой, этот URL должен работать:

https://d37uawng2qmzgo.cloudfront.net/images/natural+scenery+with+mountain+and+cloud.jpg

Однако, хотя, если есть + s в исходное имя файла, они должны быть преобразованы в %2B для URL CloudFront.

+0

Спасибо за помощь. –

Смежные вопросы