Я получаю 307 при загрузке в корзину с Amazon Ruby gem (2.10.2). Еще одно ведро работает нормально (оба созданы сегодня). Я проверил имя и не ошибся в написании. Что вызывает ошибку?
307 - это код HTTP для «временного перенаправления». По Документы S3 на таких редиректах:
Временное перенаправление запроса
Временное перенаправление - это тип ответа об ошибке, который сигнализирует запрашивающей стороне, что он должен повторно отправить свой запрос другой конечной точке.
Из-за распределенного характера Amazon S3 запросы могут временно перенаправляться не на тот объект. Скорее всего, это произойдет сразу после создания или удаления сегментов. Например, если вы создаете новую корзину и сразу делаете запрос к ней, вы можете получить временное перенаправление, в зависимости от ограничения местоположения корзины. Если вы создали сегмент в регионе Восток США (Северная Вирджиния) (конечная точка s3.amazonaws.com), вы не увидите перенаправление, потому что это также конечная точка по умолчанию. Однако, если сегмент создается в любом другом регионе, любые запросы для сегмента будут поступать в конечную точку по умолчанию, в то время как запись DNS сегмента будет распространяться. Конечная точка по умолчанию перенаправит запрос на правильную конечную точку с HTTP 302 (так) ответ.
Утверждение, что 302-е используются для этих перенаправлений, кажется ошибкой в документации, поскольку оно противоречит как поведению, свидетелем которого вы были, так и поведению, свидетелем которого я стал, и «Примеру перенаправления REST API», приведенному ниже на той же странице документов. .
Итак, ваши варианты:
Location:
заголовок в перенаправлении и настроен для этого.В моем случае ожидание не помогло - мне пришлось аннулировать все с помощью пути «/ *» в облачной консоли AWS, чтобы исправить 307 с последующим «Доступ запрещен» при переходе к частной корзине S3.